2007年6月的归档

SSO的实现--CAS

| | Comments(0) | TrackBacks(0)

  CAS服务需要SSL才能正常工作.由于resin3的开源版本不支持SSLresin2虽然支持SSL,但太老,不支持一些新的标准,所以我们选用tomcat5CAS服务器端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拷到你tomcatconf目录下,防止误删,便于后面配置文件的位置指定.
   
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 port="8443" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" 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">
 
<list>
  
<bean  class="org.jasig.cas.authentication.handler.support.HttpBasedServiceCredentialsAuthenticationHandler" />
<bean 
class="org.jasig.cas.authentication.handler.support.YourAuthenticationHandler" />
   
</list>
</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

最近的留言

John发表于JAVA Puzzlers下载: Java Puzzl
justified发表于JAVA Puzzlers下载: 你能给我传一下电子版
John发表于Google公司十大彩色幽默(ZT): 呵,对,就是叫“幸福
燕子翔发表于Google公司十大彩色幽默(ZT): 那部电影的名字叫做《
John发表于读史记5:   讙兜推荐共工,尧
John发表于读史记4:   尧说:“哪一位能
John发表于读史记3:   帝喾娶陈锋氏的女
John发表于很美,很美,昨晚奥运开幕式带妆彩排的炫目烟火: 现场更美了
bannoorse发表于很美,很美,昨晚奥运开幕式带妆彩排的炫目烟火: 真是太美了!
bannoorse发表于很美,很美,昨晚奥运开幕式带妆彩排的炫目烟火: 真是太美,太壮观了!
John发表于读史记2:   黄帝共有二十五个
John发表于读史记1: 译:   黄帝是少典
John发表于谁的Bug ?: 嗯,对。一直觉得JA
huang发表于谁的Bug ?: Calendar中的
John发表于Kernel的编译过程(freebsd): 终于等到骆驼了,期待