目前我在我的Web应用程序中使用Struts 2框架,现在我已经在Spring SAML扩展和ADFS服务器的帮助下集成了单点登录,现在除了Struts 2操作外,每个东西都工作正常,
当我打算调用/点击任何Struts动作时,例如example.com/myapplication/myactionname.action URL,那么Spring SSO永远不会要求身份验证。
但是当我点击任何.jsp OR .js或.css或.html文件
时实施例。应用程序中的example.com/myapplication/test.jsp文件将提示进行身份验证。
有关如何使用Spring单点登录保护Struts操作的任何想法,以便任何人无需任何身份验证即可直接访问操作URL?
答案 0 :(得分:0)
最后我得到了解决方案,我的web.xml中有Spring和Struts过滤器,我只是更改了下面的过滤器顺序,它对我有效。
<filter>
<filter-name>springSecurityFilterChain</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
<filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>