cas数据库

只是简单的验证csa服务器登录和读取数据库账号密码登录

环境window2008+tomcat7+jdk7+cas-server-4.0.0-release

 1. 首先到 http://downloads.jasig.org/ 地址下载 cas-server-4.0.0-release.zip,解压后到modules目录中找到cas-server-webapp-4.0.0.war,复制到tomcat的webapp目录下,修改名称为cas.war

 

 2. 创建证书

   keytool -genkey -alias ssotest -keyalg RSA -keysize 2048 -keystore C:/cas/keys/ssotest.keystore

    导出证书
   keytool -export -file c:/cas/keys/ssotest.crt -alias ssotest -keystore  C:/cas/keys/ssotest.keystore    

    客户端JVM导入证书   

   keytool -import -keystore C:\Users\Administrator\Desktop\jdk764\jre\lib\security\cacerts -file c:/cas/keys/ssotest.crt -alias ssotest

    如果提示: 
keytool error: java.io.IOException: Keystore was tampered with, or password was incorrect 
那么输入密码:changeit 
这是因为JDK安装后会默认创建一个密钥库,密码为:changeit 
也可以删除d:\Java\jdk1.7.0_60\jre\lib\security\cacerts 在输入上述命令

 

3. 让tomcat使用证书

  打开tomcat目录的conf/server.xml文件,8443端处,并设置keystoreFile、keystorePass修改结果如下:

 

Xml代码   收藏代码
  1. <Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"  
  2.                maxThreads="150" SSLEnabled="true" scheme="https" secure="true"  
  3.                clientAuth="false" sslProtocol="TLS"   
  4.         keystoreFile="c:/cas/keys/ssotest.keystore"    
  5.             keystorePass="123456" />  

 启动tomcat测试是否可用,https://localhost:8443 能进入到tomcat目录表示https配置成功。

 

4. 登录cas

    启动tomcat之后再webapp中的cas.war自动解压,我们可以直接访问https://localhost:8443/cas/login, cas4.0 默认账号密码是casuser/Mellon  如下图

 

 5. 读取数据库进行认证

    需要的jar包有cas-server-support-jdbc.jar  c3p0-0.9.1.2.jar  mysql-connector-java-5.1.24  ,我这里是mysq 其他数据库根据情况整理jar包,放入到webapps\cas\WEB-INF\lib 。之后在cas\WEB-INF下找到deployerConfigContext.xml进行修改

首先注释掉默认的登录账号密码

Xml代码   收藏代码
  1. <bean id="primaryAuthenticationHandler"  
  2.       class="org.jasig.cas.authentication.AcceptUsersAuthenticationHandler">  
  3.     <property name="users">  
  4.         <map>  
  5.             <entry key="casuser" value="Mellon"/>  
  6.         </map>  
  7.     </property>  
  8. </bean>  

 注释之后,添加jdbc配置,这里为了方便没有采用加密

 

Xml代码   收藏代码
  1. <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"  
  2.  p:driverClass="com.mysql.jdbc.Driver"  
  3. p:jdbcUrl="jdbc:mysql://ip:3306/dts?useUnicode=true&amp;  
  4. characterEncoding=UTF-8&amp;zeroDateTimeBehavior=convertToNull"  
  5. p:user=user  
  6. p:password=password />  
  7. <bean id="dbAuthHandler"   
  8. class="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler">  
  9. <property name="sql" value="select password from user_info where name=?" />  
  10. <property name="dataSource" ref="dataSource" />  
  11.     </bean>  

 

 

 再找到id=authenticationManager的bean

Xml代码   收藏代码
  1. <bean id="authenticationManager"   
  2. class="org.jasig.cas.authentication.PolicyBasedAuthenticationManager">  
  3.         <constructor-arg>  
  4.             <map>  
  5.  <entry key-ref="proxyAuthenticationHandler"   
  6. value-ref="proxyPrincipalResolver" />  
  7. <!-- <entry key-ref="primaryAuthenticationHandler"   
  8. value-ref="primaryPrincipalResolver" />-->  
  9. <entry key-ref="dbAuthHandler"   
  10. value-ref="primaryPrincipalResolver"/>  
  11.             </map>  
  12.         </constructor-arg>  
  13.  <property name="authenticationPolicy">  
  14.         <bean class="org.jasig.cas.authentication.AnyAuthenticationPolicy" />  
  15.         </property>  
  16.     </bean>  

 

 

 是为了注释掉key-ref="primaryAuthenticationHandler"的部分,然后引入id=dbAuthHandler的bean

之后重启tomcat 进行验证

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值