您的位置:首页 > 其它

使用cas做单点登录,web.xml配置

2015-12-18 16:24 579 查看
1、 添加maven依赖

 

<dependency>

<groupId>org.jasig.cas.client</groupId>

     <artifactId>cas-client-core</artifactId>

<version>3.3.3</version>

</dependency>

 

2、 web.xml添加一下项,以tms为例

 

<filter>

<filter-name>ssoFilter</filter-name>

<filter-class>com.autostreets.web.cas.admin.shiro.filter.SSOFilter</filter-class>

<init-param>

<param-name>loginFlag</param-name>

<param-value>_dealer_login_flag</param-value>

</init-param>

</filter>

<filter-mapping>

<filter-name>ssoFilter</filter-name>

<url-pattern>/*</url-pattern>

</filter-mapping>

 

<listener>

<listener-class>org.jasig.cas.client.session.SingleSignOutHttpSessionListener</listener-class>

</listener>

<!-- 该过滤器用于实现单点登出功能,可选配置。 -->

<filter>

<filter-name>CASSingleSignOutFilter</filter-name>

<filter-class>org.jasig.cas.client.session.SingleSignOutFilter</filter-class>

<init-param>

<param-name>casServerUrlPrefix</param-name>

<param-value>https://passport.autostreets.com</param-value>

</init-param>

</filter>

<filter-mapping>

<filter-name>CASSingleSignOutFilter</filter-name>

<url-pattern>/*</url-pattern>

</filter-mapping>

 

<!-- 该过滤器负责用户的认证工作,必须启用它 -->

<filter>

<filter-name>CASAuthenticationFilter</filter-name>

<filter-class>org.jasig.cas.client.authentication.AuthenticationFilter</filter-class>

<init-param>

<param-name>casServerLoginUrl</param-name>

<param-value>https://passport.autostreets.com/login</param-value>

</init-param>

<init-param>

<param-name>serverName</param-name>

<param-value>http://tms.autostreets.com</param-value>

</init-param>

</filter>

<filter-mapping>

<filter-name>CASAuthenticationFilter</filter-name>

<url-pattern>/*</url-pattern>

</filter-mapping>

 

<!-- 该过滤器负责对Ticket的校验工作,必须启用它 -->

<filter>

<filter-name>CASValidationFilter</filter-name>

<filter-class>org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter</filter-class>

<init-param>

<param-name>casServerUrlPrefix</param-name>

<param-value>https://passport.autostreets.com</param-value>

</init-param>

<!--这里的server是服务端的IP -->

<init-param>

<param-name>serverName</param-name>

<param-value>http://tms.autostreets.com</param-value>

</init-param>

<init-param>

<param-name>redirectAfterValidation</param-name>

<param-value>true</param-value>

</init-param>

</filter>

<filter-mapping>

<filter-name>CASValidationFilter</filter-name>

<url-pattern>/*</url-pattern>

</filter-mapping>

 

<!-- 该过滤器负责实现HttpServletRequest请求的包裹, 比如允许开发者通过HttpServletRequest的getRemoteUser()方法获得SSO登录用户的登录名,可选配置。 -->

<filter>

<filter-name>CASHttpServletRequestWrapperFilter</filter-name>

<filter-class>org.jasig.cas.client.util.HttpServletRequestWrapperFilter</filter-class>

</filter>

<filter-mapping>

<filter-name>CASHttpServletRequestWrapperFilter</filter-name>

<url-pattern>/*</url-pattern>

</filter-mapping>

 

<!-- 该过滤器使得开发者可以通过org.jasig.cas.client.util.AssertionHolder来获取用户的登录名。 比如AssertionHolder.getAssertion().getPrincipal().getName()。 -->

<filter>

<filter-name>CASAssertionThreadLocalFilter</filter-name>

<filter-class>org.jasig.cas.client.util.AssertionThreadLocalFilter</filter-class>

</filter>

<filter-mapping>

<filter-name>CASAssertionThreadLocalFilter</filter-name>

<url-pattern>/*</url-pattern>

</filter-mapping>

 

com.autostreets.web.cas.admin.shiro.filter.SSOFilter 代码如下,供参考。

 

另外:tms集成的单点登录地址  http://passport.autostreets.com

      Wms集成的单点登录地址 http://sso.autostreets.com

 

Wms的ssoFilter配置如下,和tms的文件稍微有点区别

<filter>

<filter-name>ssoFilter</filter-name>

<filter-class>com.autostreets.web.cas.admin.shiro.filter.SSOFilter</filter-class>

<init-param>

<param-name>loginFlag</param-name>

<param-value>_back_login_flag</param-value>

</init-param>

</filter>

<filter-mapping>

<filter-name>ssoFilter</filter-name>

<url-pattern>/*</url-pattern>

</filter-mapping>

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  cas单点登录