我有一个websphere 6.1配置且应用程序正在运行,但有些请求转到j_security_check但最后一个请求(有与J_security_check关联的过滤器)将生成404错误。
例如:
(1)用户帖子: http://localhost:9081/Page/j_security_check 它适用于Filter1, 但后来对Filter2的请求得到404错误。
(1a)注意,以下过滤器与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) 代码到达过滤器代码:
chain.doFilter(req,res);
WASReqURL具有以下cookie值,这是j_security_check所需要的: http://localhost:9081/Test/test.html
理想情况下,客户应该以'http://localhost:9081/Test/test.html'
结束但是,我在j_security_check的后续请求中收到404错误: http://localhost:9081/Page/j_security_check
此外,这是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>
问题是,从websphere角度控制'J_security_check'是什么。
详细说明: RAD7 Websphere Server 6.1,本地框
答案 0 :(得分:1)
这是WebSphere 6.1和Spring Security的一个众所周知的问题。
您需要使用管理控制台将此变量添加到服务器属性:
com.ibm.ws.webcontainer.invokefilterscompatibility = true
我还记得你需要为websphere安装一些补丁,具体取决于确切的版本。
只需在互联网上查看我提到的变量,您就会找到解决方案......
希望它有所帮助...
米格尔
答案 1 :(得分:1)
转到应用程序服务器&gt; server1&gt; Web容器&gt;自定义属性并确保com.ibm.ws.webcontainer.invokefilterscompatibility
变量设置为true。此变量用作应用程序的j_security_check
开关。