CAS应用实践

CAS配置详解

1.下载cas-servercas-client(可选,建议使用)

http://www.ja-sig.org/downloads/cas/cas-server-3.0.zip

http://www.yale.edu/tp/cas/cas-client-2.0.11.zip

 

2.cas-server-3.0.zip解压,并将lib/cas.war拷贝到server1webapps

3.产生SERVER的证书

keytool -genkey -alias my-alias-name -keyalg RSA -keystore keystore.keystore 首先在命令行中切换到 %java_home%\jre\lib\security目录 %java_home%\bin\keytool -genkey -alias tomcat -keyalg RSA 密码是:changeit 姓名是:localhost 其他随便写的 之后是 %java_home%\bin\keytool -export -alias tomcat -file server.crt (导出SERVER的证书,用来给所有需要用到的客户端导入) %java_home%\bin\keytool -import -file server.crt -keystore % java_home%/jre/lib/security/cacerts (在客户端的JVM里导入信任的SERVER的证书(根据情况有可能需要管理员权限)

4.server1配置tomcat使用HTTPS $CATALINA_HOME/conf/server.xml

<Connector port="8443" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" disableUploadTimeout="true" acceptCount="100" debug="0" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="C:\Documents and Settings\new\keystore.keystore" keystorePass="changeit" /> 
 

 

5.在要使用CAS的客户端client1里设置(以servlets-examples这个APP为例),我们使用ServletFilter(CAS client里提供的)来实现SSO的检查。将cas-client-2.0.11\java\lib文件复制到%tomcat_home%\webapps\servlets- examples\WEB-INF\lib(没有lib文件夹,自己建一个) 修改servlets-examples/WEB-INF/web.xml

<?xml version="1.0" encoding="UTF-8"?> <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>/servlet/*</url-pattern> </filter-mapping>
 

 

6.cas-client-2.0.11.zip解压,把java/lib/casclient.jar拷贝到client1服务器上的webapps/servlets-examples/WEB-INF/lib目录下(如果没有就建一个)

 

7.导出SERVER的证书,用来给所有需要用到的客户端导入 (在第三步生成这里重复一下) keytool -export -file myserver.cert -alias my-alias-name -keystore keystore.keystore

 

8.test & done. server1client1分别起来,检查启动的LOG是否正常,如果一切OK,就访问 http://client1:8080/servlets-examples/servlet/HelloWorldExample 系统会自动跳转到一个验证页面,随便输入一个相同的账号,密码,严正通过之后就会访问到真正的HelloWorldExample这个servlet

你可能感兴趣的:(tomcat,应用服务器,Web,servlet,SSO)