配置使用CAS的步骤,一定要记住。
环境:tomcat5.5、cas-server-3.1.1-release,客户端jar直接使用的是cas-server-3.1.1.war中的casclient2.11
过程图:

1、使用keytool生成自己的key.
1)服务器中生成证书:keytool -genkey -alias tomcat -keystore c:\mykeystore
2) 导出证书,由客户端安装: keytool -export -alias tomcat -keystore c:\mykeystore -file c:\mycerts.cer
注:生成证书时,CN要和服务器的域名相同,如果在本地测试,则使用localhost。
3) 客户端配置:
将服务器下发的证书导入到JVM中
keytool -import -trustcacerts -alias tomcat -file c:\mycert.cer
-keystore %JAVA_HOME%/JRE/LIB/SECURITY/CACERTS
注意:要导入到jvm中,导入到%java_home%/jre/lib/security/cacerts文件中。如果报异常,可以有多种解决方法,本人在配置的时候总是在最后报IO错误,换文件名就ok,最后采取删除该文件:)暴力了点。呵呵。
2、使用tomcat的话,将生成的key文件拷贝到tomcat的conf目录下。记得一定要打开SSL,在server.xml中去掉注释,加入keystorePass="我的密码" keystoreFile="conf/文件名称"。
3、将casxxxx.war拷贝到tomcat的webapps目录下。
想将log日志级别改变的话,等其被tomcat展开后到其的WEB-INF/classes目录下修改log.properties文件(参考log4j的配置)
4、修改要试验需要增加验证的服务的web.xml文件。并把cas的客户端jar包拷贝进去,就是casclient-2.1.1.jar(cas/WEB-INF/lib目录下)拷贝到目标服务的WEB-INF/lib目录下,没有的话就建一个。
我是使用jsp-examples,修改WEB-INF中的web.xml文件在其filter的前面加入
<filter>
<filter-name>CASFilter</filter-name>
<filter-class>edu.yale.its.tp.cas.client.filter.CASFilter</filter-class>
<init-param>
<param-name>edu.yale.its.tp.cas.client.filter.loginUrl</param-name>
<param-value>https://localhost:8443/cas/login</param-value>
</init-param>
<init-param>
<param-name>edu.yale.its.tp.cas.client.filter.validateUrl</param-name>
<param-value>https://localhost:8443/cas/proxyValidate</param-value>
</init-param>
<init-param>
<param-name>edu.yale.its.tp.cas.client.filter.serverName</param-name>
<param-value>localhost:8080</param-value>
</init-param></filter>
<filter-mapping>
<filter-name>CASFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>5、启动tomcat看看效果了。在浏览器中输入http://localhost:8080/jsp-examples,
将会看到CAS的简单登录界面。输入完用户名密码(用户名要和密码相同),就进入原先的jsp-exmaples页面了。
问题:
异常:Unable to validate ProxyTicketValidator。
一般原因:1、证书使用的是域名,而在配置跳转的时候给的是IP.
2、导入到jvm中的证书导入失败或未导入到 cacerts中。本人开始就是这个原因。
沒有留言:
張貼留言