SSO的实现--CAS

   由于发布时有些字段被截去,完整原文见:http://jerryinside.blogbus.com/logs/5806311.html

   CAS 服务需要 SSL 才能正常工作 . 由于 resin3 的开源版本不支持 SSL resin2 虽然支持 SSL, 但太老,不支持一些新的标准,所以我们选用 tomcat5 CAS 服务器端 server. CAS 服务器端下载: http://www.ja-sig.org/products/cas/ 布署到 tomcat 下.
  
CAS 客户端应用不能用 IP 去访问 CAS 服务,必须通过域名或是机器名 ,我们选用域名 cas.7career.org
  
    配置 SSL,tomcat
    1, JDK 目录下的 bin 目前下,运行:
    
keytool –genkey –alias tomcat –keyalg RSA
    这时需要输入密钥密码和其他参数(第一个参数 CN 必须设置为 CAS 机器名或域名 , cas.7career.org 测试),会在 /root/ 下生成 .keystore 密钥文件。将 .keystore 拷到你 tomcat conf 目录下,防止误删,便于后面配置文件的位置指定.
   
2. 导出密钥文件:
     keytool –export –file server.crt –alias tomcat
    这时需要输入上一步设定的密码,结果会在当前目录生成 server.crt 信任状。
    3. 为客户端的 JVM 导入密钥:
    keytool –import –keystore $JAVA_HOME\jre\lib\security\cacerts –file server.crt –alias tomcat
    输入密码时注意密码为 changeit”.
    如果之前已经配置过同名的 tomcat 别名,要先删掉 cacerts 文件 .
  
4 .修改 tomcat 配置文件 server.xml
    去掉有关 SSL 的那一段的注释,并做相关修改:
<connector maxthreads="150" port="8443" maxhttpheadersize="8192" minsparethreads="25" maxsparethreads="75" span=""></connector><connector port="8443" maxsparethreads="75" minsparethreads="25" maxthreads="150" maxhttpheadersize="8192" span=""></connector> enableLookups="false" disableUploadTimeout="true" acceptCount="100" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystorePass="1步中的密码" keystoreFile="conf/.keystore"/>
   此时,启动tomcat,访问https://ip:8443/cas 看是否正常.

    修改CAS验证程序

修改deployerConfigContext.xml配置文件:

<property name="authenticationHandlers"> <property name="authenticationHandlers">
 </property>
<list></list>
  

class="org.jasig.cas.authentication.handler.support.YourAuthenticationHandler" />
   

 </property>  
     
org.jasig.cas.authentication.handler.support包中添加一个继承AbstractUsernamePasswordAuthenticationHandler的类YourAuthenticationHandler,实现具体的用户名/密码认证

 修改CAS登录页面
  CAS登录页面在/WEB-INF/default/ui需要修改的页面主要是
  
登录页面:casLoginView.jsp
  
登出页面:casLogoutView.jsp
  
登录成功页面:casGenericSuccess.jsp

 关于用Acegi做为cas认证客户端的例子,可以参考
http://blog.csdn.net/HuDon/archive/2007/02/06/1503506.aspx

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