如何使用Spring单点登录保护Struts操作

时间:2017-03-08 13:07:32

标签: struts2 single-sign-on action spring-saml

目前我在我的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文件将提示进行身份验证。

Screenshot image

有关如何使用Spring单点登录保护Struts操作的任何想法,以便任何人无需任何身份验证即可直接访问操作URL?

1 个答案:

答案 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>