Cas单点登录(6)Cas Client配置

来源:互联网 发布:淘宝陆战吉姆 编辑:程序博客网 时间:2024/05/20 21:21

1、新建项目

新建javaEE项目CasClient,添加jar包cas-client-core-3.2.1.jar

2、修改web.xml

向javaEE项目的WEB-INF/web.xml添加以下代码

<!-- ======================== 单点登录开始 ======================== --><!-- 该过滤器用于实现单点登出功能,可选配置。 --><filter>        <filter-name>CAS Single Sign Out Filter</filter-name>        <filter-class>org.jasig.cas.client.session.SingleSignOutFilter</filter-class></filter>    <!-- 该过滤器负责用户的认证工作,必须启用它 --><filter>        <filter-name>CAS Authentication Filter</filter-name>        <filter-class>org.jasig.cas.client.authentication.AuthenticationFilter</filter-class>        <init-param>            <param-name>casServerLoginUrl</param-name>            <param-value>http://Cas Server的ip:端口号/cas/login</param-value>        </init-param>        <init-param>            <param-name>serverName</param-name>            <param-value>http://client服务器ip:端口号</param-value>        </init-param></filter>    <!-- 该过滤器负责对Ticket的校验工作,必须启用它 --><filter>        <filter-name>CAS Validation Filter</filter-name>        <filter-class>org.jasig.cas.client.validation.Cas10TicketValidationFilter</filter-class>        <init-param>            <param-name>casServerUrlPrefix</param-name>            <param-value>http://Cas Server的ip:端口号/cas</param-value>        </init-param>        <init-param>            <param-name>serverName</param-name>            <param-value>http://client服务器ip:端口号</param-value>        </init-param>        <init-param>            <param-name>redirectAfterValidation</param-name>            <param-value>true</param-value>        </init-param></filter><!-- 该过滤器负责实现HttpServletRequest请求的包裹, 比如允许开发者通过HttpServletRequest的getRemoteUser()方法获得SSO登录用户的登录名,可选配置。 --><filter>        <filter-name>CAS HttpServletRequest Wrapper Filter</filter-name>        <filter-class>org.jasig.cas.client.util.HttpServletRequestWrapperFilter</filter-class></filter><!-- 该过滤器使得开发者可以通过org.jasig.cas.client.util.AssertionHolder来获取用户的登录名。 比如AssertionHolder.getAssertion().getPrincipal().getName()。 --><filter>        <filter-name>CAS Assertion Thread Local Filter</filter-name>        <filter-class>org.jasig.cas.client.util.AssertionThreadLocalFilter</filter-class></filter><filter-mapping>        <filter-name>CAS Single Sign Out Filter</filter-name>        <url-pattern>/*</url-pattern></filter-mapping><filter-mapping>        <filter-name>CAS Authentication Filter</filter-name>        <url-pattern>/*</url-pattern></filter-mapping><filter-mapping>        <filter-name>CAS Validation Filter</filter-name>        <url-pattern>/*</url-pattern></filter-mapping><filter-mapping>        <filter-name>CAS HttpServletRequest Wrapper Filter</filter-name>        <url-pattern>/*</url-pattern></filter-mapping><filter-mapping>        <filter-name>CAS Assertion Thread Local Filter</filter-name>        <url-pattern>/*</url-pattern></filter-mapping><!-- ======================== 单点登录结束 ======================== --><!-- 所有 filter 结束后添加 logout 的 listener --><!-- 用于单点退出 --><listener>        <listener-class>org.jasig.cas.client.session.SingleSignOutHttpSessionListener</listener-class></listener>

3、测试

  1. 启动Cas Server所在Tomcat;
  2. 将项目CasClient放入各自对应的Client服务器中后,启动三个Client服务器所在Tomcat;
  3. 输入任意Client对应的网址:http://client服务器ip:端口号/CasClient,若自动跳转至Cas Server登录页面,账号密码输入成功后跳转回Client页面。再输入其他任意Client对应网址后,免登陆直接显示Client页面,则说明配置成功。
原创粉丝点击