使用指令生成证书
./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属性配置。
<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
在需要验证的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