tomcat配置cas
在tomcat中配置cas:
启动cmd:进入tomcat目录(进入java_home的\jre\lib\security下最好)
1、生成服务端密匙
keytool -genkey -alias casserver -keyalg RSA -keypass changeit -storepass changeit -keystore server.keystore
2、生成服务端证书
keytool -export -alias casserver -storepass changeit -file server.cer -keystore server.keystore
命令执行后生成一个server.cer的证书文件
3、生成客户端密匙,执行以下命令
keytool -genkey -alias casclient -keyalg RSA -keypass changeit -storepass changeit -keystore client.keystore
4、生成客户端证书,执行以下命令
keytool -export -alias casclient -storepass changeit -file client.cer -keystore client.keystore
命令执行后生成一个server.cer的证书文件
5、导入证书文件到cacerts 文件中,执行以下命令
keytool -import -trustcacerts -alias server -file server.cer -keystore cacerts -storepass changeit
keytool -import -trustcacerts -alias client -file client.cer -keystore cacerts -storepass changeit
6、把cacerts文件,拷贝到<JAVA_HOME>\jre\lib\security目录下
7、拷贝cas-server-3.0.6.zip包内的target目录下的cas.war文件到Tomcat目录下的webapps目录下
8、修改Tomcat的配置文件server.xml把以下补注释的内容打开
<Connector protocol="org.apache.coyote.http11.Http11NioProtocol"??
?????????? port="8443" minSpareThreads="5" maxSpareThreads="75"??
?????????? enableLookups="true" disableUploadTimeout="true"????
?????????? acceptCount="100"? maxThreads="200"??
?????????? scheme="https" secure="true" SSLEnabled="true"??
?????????? clientAuth="false" sslProtocol="TLS"??
?????????? keystoreFile="E:/Tomcat 6.0/server.keystore"????
?????????? keystorePass="changeit"/>
9、使用Tomcat的例子examples来做客户端
10、打开项目中的web.xml文件,加入以下配置信息
<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>
PS:tomcat6.0中的web.xml符合j2se5规范,filter跟felter mapping要集中分开存放,否则会出错。
tomcat 6.0默认没有刚才复制的那两个包commons-logging-1.0.4.jar,log4j-1.2.11.jar
11、拷贝cas-client-java-2.1.1.zip包中的casclient.jar到项目的lib目录下
现在可以启动Tomcat来测试一下是否能够进入到登录页
comcat服务器启动正常,输入密码跟用户名要相同!
注 :生成密钥的时候 填写域名或者ip