总结play中使用cas进行sso认证

 

使用指令生成证书

./keytool -genkey -alias examplecas -keypass changeit -keyalg RSA -keystore server.keystore

 

 

配置完成

 

生成服务端

keytool -genkey -alias mykey -keyalg RSA -keystore server.keystore

生成客户端

keytool -export -file client.crt -alias mykey -keystore server.keystore  把client.crt复制到客户机

此证书所有客户端通用

输入密码如:111111

安装tomcat6

在根目录中加入keystore文件夹

如E:\apache-tomcat-6.0.32\keystore

拷贝 server.keystore 进keystore中

配置服务器端tomcat 6.0(conf/server.xml)
    打开被注释掉的https配置区,添加keystoreFile,keystorePass,truststoreFile属性配置。

Xml代码   

<Connector port="8443" minSpareThreads="5" maxSpareThreads="75"
enableLookups="true" disableUploadTimeout="true"
acceptCount="100" maxThreads="200"
scheme="https" secure="true" SSLEnabled="true"
keystoreFile="E:/apache-tomcat-6.0.32/keystore/server.keystore" keystorePass="111111"
clientAuth="false" sslProtocol="TLS"/>

 

服务器端cas-server-3.4.6-release  下载http://www.jasig.org/cas/download

cas-server-3.4.6-release\cas-server-3.4.6\modules\cas-server-webapp-3.4.6.war

解压到tomcat6目录下  自解压

在cas\WEB-INF\spring-configuration 目录中applicationContext.xml

文件中加入

<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
        <property name="url" value="jdbc:mysql://localhost:3306/biz_deploy_100"/>
        <property name="username" value="bizgame" />
        <property name="password" value="bizgame" />
</bean>

在lib中加入mysql驱动

打开deployerConfigContext.xml

修改

  <bean
     class="org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler" />


<bean class="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler"> 
    <property name="sql" value="select md5password from sso_user where loginname=?" /> 
            <property name="dataSource" ref="dataSource" /> 

复制cas-server-support-jdbc-3.4.6.jar 进 lib中

系统完成,启动tomcat

 

 

 

客户端 play  cas-3.0  参考 http://www.playframework.org/modules/cas-3.0/home

安装 play  install cas-3.0

 

route中的配置

# import these default routes as :

# *         /               module:logisima-cas

#

 

GET         /login           modules.cas.SecureCAS.login

GET         /logout         modules.cas.SecureCAS.logout

GET         /authenticate   modules.cas.SecureCAS.authenticate

GET         /pgtcallbackurl modules.cas.SecureCAS.pgtCallBack

 

application.conf中的配置

 

#############################################################

# CAS CONFIGURATION

#############################################################

#module.cas=E:/play-1.1/modules/cas-3.0
module.cas=${play.path}/modules/cas-3.0
cas.validateUrl=https://xxx.xx.121.243:8443/cas/serviceValidate
cas.loginUrl=https://xxx.xx.121.243:8443/cas/login
cas.logoutUrl=https://xxx.xx.121.243:8443/cas/logout
 cas.gateway=false
application.url.ssl=https://192.168.1.113:8443
application.url=http://192.168.1.113
 #application.url.ssl=http://192.168.1.113
 cas.mockserver=false


删除项目下eclipse目录,重新使用play ec生成eclipse支持

在需要验证的controller 中加入@With(SecureCAS.class)

把从服务器端生成的client.crt文件导入jvm中,记得密码为 changeit

 

keytool -import -keystore "C:\Program Files\Java\jdk1.6.0_23\jre\lib\security\cacerts" -file play.crt -alias play

客户端导入输入 密码: changeit

 

 

最优的配置参考:http://vanadiumlin.iteye.com/blog/974483

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值