CAS单点登录方案
本文将简介cas单点登录方案,如有不对,欢迎指正
web.xml配置
cas在网站中是以多个过滤器的方式去执行,如下配置:1.身份认证过滤器,2.ticket校验拦截器,3实现HttpServletRequest请求,可以通过HttpServletRequest的getRemoteUser()方法获得SSO登录用户名,4.获取登录用户名,如AssertionHolder.getAssertion().getPrincipal().getName():
<listener>
<listener-class>org.jasig.cas.client.session.SingleSignOutHttpSessionListener</listener-class>
</listener>
<!-- 该过滤器用于实现单点登出功能,可选配置。 -->
<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>
<!-- 该过滤器负责用户的认证工作,必须启用它 -->
<filter>
<filter-name>CASFilter</filter-name>
<filter-class>com.youyuan.chat.filter.AuthenticationFilter</filter-class>
<init-param>
<param-name>casServerLoginUrl</param-name>
<!-- 配置服务端登录地址 -->
<param-value>配置服务端登陆地址</param-value>
</init-param>
<init-param>
<!--配置,在session 中放入username的地址(后台工程项目地址)。 -->
<param-name>serverName</param-name>
<param-value>需要访问的项目的地址</param-value>
</init-param>
<!-- 配置白名单的url -->
<init-param>
<param-name>excludePaths</param-name>
<!-- 匹配/api/或者/resources/或者.txt结尾-->