Pregunta

Estoy usando primavera y acegi en una aplicación web que se despliega en Tomcat 5.5.26.

Quiero ver si el usuario ha iniciado sesión en la página 404, de modo que podamos mostrar su nombre si está conectado, y un enlace de conexión de otro modo.

Tengo la HttpSessionContextIntegrationFilter, en los filtros en el despachador SOLICITUD. También lo tengo en el despachador ERROR.

La ruta de código parece que la solicitud se pasa en mi aplicación, a través del despachador REQUEST al HttpSessionContextIntegrationFilter que registra que ya se ha aplicado, establece el contexto de usuario continúa entonces la cadena de filtros y, a continuación despeja el contexto de usuario. A continuación, se abre paso por el despachador de error, pero el HttpSessionContextIntegrationFilter no hace nada porque ya se ha ejecutado para esta solicitud, por lo que cuando se llega a la página 404, no hay autenticación en el contexto (ya que fue despejado el la salida) y no poner de nuevo.

¿Fue útil?

Solución

Parece que esto se debe a que estábamos usando acegi 1.0.3.

La actualización a acegi 1.0.7 es la respuesta.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top