首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

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

2012-12-19 
总结play中使用cas进行sso认证?使用指令生成证书./keytool -genkey -alias examplecas -keypass changeit

总结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属性配置。

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" 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
?????/>


<bean 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

热点排行