读书人

SSO-CAS单点登录(1)

发布时间: 2014-01-08 14:18:52 作者: rapoo

SSO-CAS单点登录(一)

注意:上面的命令中,CN指定的域名是通过host文件中配置的(127.0.0.1? sso.gc.com)

从keystore密钥库导出证书服务端(提供CAS服务,如Tomcat),在8443端口处配置keystore客户端则需要将证书导入到JVM中
参数:
-alias 上一步所指定的密钥别名
-keystore? 上一步指定的密钥库地址
-storepass? 上一步指定的密钥库口令
-file???? 指定即将导出的证书的存放地址
【从keystore导出证书】
keytool -export -alias gc -keystore e:/keys/mykeystore -storepass 111111 -file e:/keys/gckey.crt


客户端拿到证书后,将证书导入到的JVM中(客户端只需要JRE即可,所以客户端的证书库在JRE目录下!)
cacerts证书文件(The cacerts Certificates File)
该证书文件存在于java.home\jre\lib\security目录下,是Java系统的CA证书仓库
将上面生成的证书导入到客户端的JVM中
参数:
-trustcacerts 信任的证书
-alias 证书别名
-keystore 客户端keystore的地址
-storepass 客户端keystore口令
-file?? 被导入的证书的位置
【客户端:导入证书】
keytool -import -trustcacerts -alias gc -keystore "%JAVA_HOME%/jre/lib/security/cacerts" -storepass changeit -file e:/keys/gckey.crt
注意:-storepass 为changeit,该密码是java证书库的密码,不是前面设置的111111

查看证书库里面的证书信息
keytool -list -v -alias gc -keystore? e:/keys/mykeystore -storepass 111111
查看客户端JVM中的证书信息
keytool -list -v -alias gc -keystore? "%JAVA_HOME%/jre/lib/security/cacerts" -storepass changeit

删除证书库里面的某个证书
keytool -delete -alias gc -keystore e:/keys/mykeystore -storepass 111111
删除客户端JVM中的证书信息
keytool -delete -alias gc -keystore "%JAVA_HOME%/jre/lib/security/cacerts" -storepass changeit?====================================================================第二步 配置CAS服务器以Tomcat为例,放开8843端口,配置如下

并放开此配置
?配置CAS中的cas-server-webapp模块打开E:\learning\cas\cas\cas-server-3.4.10\cas-server-webapp\src\main\webapp\WEB-INF\deployerConfigContext.xml替换认证方式,默认配置是用户名密码相同即认证通过
?

?点击继续浏览
SSO-CAS单点登录(1)
输入用户名和密码(数据库中存储的用户名hqh和密码123)
SSO-CAS单点登录(1)
?
到此,服务端配置结束。====================================================================第三步 配置客户端?准备2个需要用户验证的项目,项目A,项目B用户登录的基本做法:使用filter对项目中所有内容进行过滤(除了访问LoginServlet)在LoginServlet中,获取用户名和密码,如果验证成功,则将用户存入HttpSession中否则,重定向到登录页面现在通过CAS进行单点登录,项目A与项目B 就不需要进行登录验证了验证都集中在CAS中进行,一旦在CAS验证通过,访问项目A与项目B将不需要登录了。取消当前项目中对用户登录的验证,下面开始使用CAS客户端进行登录控制在项目A与项目B中增加对cas-client-core的依赖

?选择一个页面进行登录,登录成功后,再访问另一个项目,将不需要登录了如,访问http://localhost:8088/client/main.jsp,在跳转到的页面上进行登录,成功后跳转到
SSO-CAS单点登录(1)
?当项目A登录成功,再访问项目B 时,不需要再登录了
SSO-CAS单点登录(1)
???

读书人网 >行业软件

热点推荐