Extraño error 404 / j_security_check con Websphere 6.1
-
20-08-2019 - |
Pregunta
Tengo una configuración de websphere 6.1 y la aplicación se está ejecutando, pero algunas solicitudes van a j_security_check pero la última (hay filtros asociados con J_security_check) generará un error 404.
Por ejemplo:
(1) El usuario publica en: http: // localhost: 9081 / Page / j_security_check Y funciona en Filter1, pero las solicitudes posteriores a Filter2 obtienen un error 404.
(1a) Tenga en cuenta que los siguientes filtros están asociados con j_security_check:
<filter-mapping>
<filter-name>Filter1</filter-name>
<url-pattern>/j_security_check</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>Filter2</filter-name>
<url-pattern>/j_security_check</url-pattern>
</filter-mapping>
(2) El código alcanza el código de filtro:
chain.doFilter (req, res);
WASReqURL tiene el siguiente valor de cookie, j_security_check lo necesita: http: // localhost: 9081 / Test / test.html
Idealmente, el cliente debería terminar en ' http: // localhost: 9081 / Test / test. html '
Pero recibo un error 404 en una solicitud posterior a j_security_check: http: // localhost: 9081 / Page / j_security_check
Además, aquí hay un fragmento relevante en el archivo web.xml.
<login-config>
<auth-method>FORM</auth-method>
<form-login-config>
<form-login-page>/Go</form-login-page>
<form-error-page>/Go</form-error-page>
</form-login-config>
</login-config>
La pregunta es qué controla 'J_security_check' desde la perspectiva de la esfera web.
Detalles: RAD7 Websphere Server 6.1, cuadro local
Solución
Vaya a Servidores de aplicaciones > servidor1 > Contenedor web & Gt; Propiedades personalizadas y asegúrese de que la variable com.ibm.ws.webcontainer.invokefilterscompatibility
esté establecida en verdadero. Esta variable sirve como el interruptor j_security_check
para la aplicación.
Otros consejos
Este es un problema muy conocido con WebSphere 6.1 y Spring Security.
Debe agregar esta variable a las propiedades del servidor utilizando la consola de administración:
com.ibm.ws.webcontainer.invokefilterscompatibility = true
también recuerdo que necesita instalar algún parche para websphere, dependiendo de la versión exacta.
Simplemente busque en Internet la variable que menciono y encontrará la solución ...
Espero que ayude ...
Miguel