1. 环境
Windows XP、JDK1.6.0_11、Tomcat6.0.10
2. 下载资源
服务端:cas-server-3.3.3-release.zip
下载地址:http://downloads.jasig.org/cas/
下载地址:http://downloads.jasig.org/cas-clients/
3. 发布CAS SERVER
将下载的cas-server解压,进入cas-server-3.3.3/modules,复制cas-server-webapp-3.3.3.war到tomcat/webapps下,修改名称为cas.war,方便使用,原来的名字太长了。然后启动IE,输入http://localhost:8080/cas检验是否可以访问,如果可以,则输入相同的用户名和密码,比如cas/cas,测试是否能登录。
4. 修改客户端源代码
解压cas-client-2.0.11.war,进入cas-client-2.0.11/java/src,修改edu.yale.its.tp.cas.util包下的SecureURL类,在retrieve方法里面注释掉如下两行,使之支持http验证。
- if (!u.getProtocol().equals("https"))
- throw new IOException("only 'https' URLs are valid for this method");
再命令行进入cas-client-2.0.11/java目录,运行命令:ant dist
如果没有安装ant,则需先安装ant并配好环境变量,也可以用其他方式进行编译打包。
5. 配置服务端 CAS SERVER
5.1 配置Tomcat 6.0/webapps/cas/WEB-INF/deployerConfigContext.xml
找到
<bean class="org.jasig.cas.authentication.handler.support.HttpBasedServiceCredentialsAuthenticationHandler" p:httpClient-ref="httpClient" /> |
增加参数p:requireSecure="false",是否需要安全验证,即HTTPS,false为不采用,加上去之后如下:
<bean class="org.jasig.cas.authentication.handler.support.HttpBasedServiceCredentialsAuthenticationHandler" p:httpClient-ref="httpClient" p:requireSecure="false"/> |
5.2 配置Tomcat 6.0/webapps/cas/WEB-INF/spring-configuration/ ticketGrantingTicketCookieGenerator.xml
找到
<bean id="ticketGrantingTicketCookieGenerator" class="org.jasig.cas.web.support.CookieRetrievingCookieGenerator" p:cookieSecure="true" p:cookieMaxAge="-1" p:cookieName="CASTGC" p:cookiePath="/cas" /> |
将参数p:cookieSecure="true"改为p:cookieSecure="false",同理为HTTPS验证相关,TRUE为采用HTTPS验证,与deployerConfigContext.xml的参数保持一致。
参数p:cookieMaxAge="-1",简单说是COOKIE的最大生命周期,-1为无生命周期,即只在当前打开的IE窗口有效,IE关闭或重新打开其它窗口,仍会要求验证。可以根据需要修改为大于0的数字,比如3600等,意思是在3600秒内,打开任意IE窗口,都不需要验证。
5.3 配置Tomcat 6.0/webapps/cas/WEB-INF/spring-configuration/ warnCookieGenerator.xml
找到
<bean id="warnCookieGenerator" class="org.jasig.cas.web.support.CookieRetrievingCookieGenerator" p:cookieSecure="true" p:cookieMaxAge="-1" p:cookieName="CASPRIVACY"
|