在http://downloads.jasig.org/cas-clients/cas-client-3.2.1-release.zip,这是客户端源码,在modules文件夹中有需要的jar,maven依赖
<span style="font-family:Microsoft YaHei;"><dependency>
<groupId>org.jasig.cas</groupId>
<artifactId>cas-client-core</artifactId>
<version>3.2.1</version>
</dependency></span>
加入log4j包
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.1</version>
</dependency>
配置log4j.propertis
<span style="font-family:Microsoft YaHei;">log4j.rootLogger=DEBUG,Console,File
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.Target=System.out
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=[%c]%m%n
log4j.appender.File=org.apache.log4j.RollingFileAppender
log4j.appender.File.File=cas-client.log
log4j.appender.File.MaxFileSize=10MB
log4j.appender.File.Threshold=ALL
log4j.appender.File.layout=org.apache.log4j.PatternLayout
log4j.appender.File.layout.ConversionPattern=[%p][%d{yyyy-MM-dd HH\:mm\:ss,SSS}][%c]%m%n</span>
配置web.xml
<span style="font-family:Microsoft YaHei;"><?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<!-- ======================== 单点登录开始 ======================== -->
<!-- 配置单点退出。如果此处不配置,不能单点退出,并且要放到所有过滤器的最前面 -->
<listener>
<listener-class>org.jasig.cas.client.session.SingleSignOutHttpSessionListener</listener-class>
</listener>
<filter>
<filter-name>SingleSignOutFilter</filter-name>
<filter-class>org.jasig.cas.client.session.SingleSignOutFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>SingleSignOutFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- cas过滤器 -->
<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>https://login.wodsy.com:8443/login</param-value>
<!--此处配置cas服务器端的登录地址-->
</init-param>
<init-param>
<param-name>serverName</param-name>
<param-value>http://www.tomcat2.com:8085</param-value>
<!-- 此处配置客户端地址(即项目访问地址,同样配置了hosts映射到www.tomcat2.com上,端口为8085) -->
</init-param>
</filter>
<filter-mapping>
<filter-name>CAS Authentication Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!--ticket过滤器 -->
<filter>
<filter-name>CAS Validation Filter</filter-name>
<filter-class>
org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter
</filter-class>
<init-param>
<param-name>casServerUrlPrefix</param-name>
<param-value>https://login.wodsy.com:8443</param-value>
</init-param>
<init-param>
<param-name>serverName</param-name>
<param-value>http://www.tomcat2.com:8085</param-value>
<!--//这里配置的客户端的地址-->
</init-param>
</filter>
<filter-mapping>
<filter-name>CAS Validation Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!--允许cas包裹HttpServletRequest,客户端就可以使用getRemoteUser和getPrincipal获取到服务器端返回的相关信息-->
<!-- ======================== 单点登录结束 ======================== -->
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
</span>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title></title>
</head>
<body>
<h1>登陆成功</h1>
</body>
</html>
现在同时启动两个tomcat(注意不要端口冲突,在%TOMCAT_HOME%conf/server.xml中配置),访问客户端地址,
http://www.tomcat2.com:8085(hosts自行配置)会自动跳转到服务器登录页,并带上返回链接的参数,请求的地址如下:
https://login.wodsy.com:8443/login?service=http%3A%2F%2Fwww.tomcat2.com%3A8085%2F,注意service参数的内容即登录成功后的跳转页。
输入 帐号:admin,密码:admin即成功登录,返回客户端
到此客户端的简单配置成功