Spring JSP+;春天
我已经用Spring+JSPWebapp为单点登录设置了CAS,但现在我发现单点注销实际上并没有将我从应用程序中注销。我已经确认,如果我进入CAS注销页面,我确实会收到来自CAS的SAMLP注销请求。然而,当我返回到应用程序中的安全页面时,我没有重新登录CAS就进入了。如果我转到本地应用程序注销页面(Spring JSP+;春天,spring,jsp,single-sign-on,cas,Spring,Jsp,Single Sign On,Cas,我已经用Spring+JSPWebapp为单点登录设置了CAS,但现在我发现单点注销实际上并没有将我从应用程序中注销。我已经确认,如果我进入CAS注销页面,我确实会收到来自CAS的SAMLP注销请求。然而,当我返回到应用程序中的安全页面时,我没有重新登录CAS就进入了。如果我转到本地应用程序注销页面(/j_spring\u security\u logout),那么我将注销并立即重定向到CAS登录页面 简而言之,本地应用程序似乎没有注册来自CAS的注销请求并调用自己的注销过程 这是我的web.x
/j_spring\u security\u logout
),那么我将注销并立即重定向到CAS登录页面
简而言之,本地应用程序似乎没有注册来自CAS的注销请求并调用自己的注销过程
这是我的web.xml的CAS部分
<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>CAS Single Sign Out Filter</filter-name>
<filter-class>org.jasig.cas.client.session.SingleSignOutFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>CAS Single Sign Out Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<listener>
<listener-class>org.jasig.cas.client.session.SingleSignOutHttpSessionListener</listener-class>
</listener>
<filter>
<filter-name>CAS Authentication Filter</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
<init-param>
<param-name>targetBeanName</param-name>
<param-value>authenticationFilter</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CAS Authentication Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter>
<filter-name>CAS Ticket Validation Filter</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
<init-param>
<param-name>targetBeanName</param-name>
<param-value>ticketValidationFilter</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CAS Ticket Validation Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter>
<filter-name>CAS HttpServletRequest Wrapper Filter</filter-name>
<filter-class>org.jasig.cas.client.util.HttpServletRequestWrapperFilter</filter-class>
</filter>
<filter>
<filter-name>CAS Assertion Thread Local Filter</filter-name>
<filter-class>org.jasig.cas.client.util.AssertionThreadLocalFilter</filter-class>
</filter>
springSecurityFilterChain
org.springframework.web.filter.DelegatingFilterProxy
springSecurityFilterChain
/*
CAS单签出筛选器
org.jasig.cas.client.session.SingleSignOutFilter
CAS单签出筛选器
/*
org.jasig.cas.client.session.SingleSignOutHttpSessionListener
CAS认证过滤器
org.springframework.web.filter.DelegatingFilterProxy
塔吉特比纳姆
身份验证过滤器
CAS认证过滤器
/*
CAS票证验证筛选器
org.springframework.web.filter.DelegatingFilterProxy
塔吉特比纳姆
ticketValidationFilter
CAS票证验证筛选器
/*
CAS HttpServletRequest包装筛选器
org.jasig.cas.client.util.HttpServletRequestWrapperFilter
CAS断言线程本地筛选器
org.jasig.cas.client.util.AssertionReadLocalFilter
我是否需要创建一个特定的CAS bean来处理applicationContext.xml文件中的注销?或者完全通过web.xml文件配置?调试SingleSignOutFilter时是否会使用户会话无效?可能CAS令牌保存在其中,或者保存在SecurityContextHolder中,因此它不会要求新登录。我有一个类似的问题,很抱歉不能完全理解SS+CAS。当您调试SingleSignOutFilter时,它是否会使用户会话无效?可能CAS令牌保存在其中,或者保存在SecurityContextHolder中,因此它不会要求新登录。我有一个类似的问题,很抱歉不能完全理解SS+CAS