基于CAS实现单点登录实现步骤
第一步
证书是单点登录认证系统中很重要的一把钥匙,客户端与服务器的交互安全靠的就是证书。由于是演示,所以就自己用JDK自带的keytool工具生成证书。如果在生产环境中使用,肯定要去证书提供商去购买,证书认证一般都是由VeriSign认证的。
实现:用JDK自带的keytool工具生成证书。
1、在cmd.exe中通过命令生成证书。
keytool -genkey -alias tomcat -keyalg RSA c://devsoftware/keys/keystore。
2、导出证书
keytool -export -trustcacerts -alias tomcat -file c://devsoftware/keys/tomcat.cer -keystore c://devsoftware/keys/keystore。
3、将证书导入JDK信任库
keytool import -trustcacerts -alias tomcat -file c://devsoftware/keys/tomcat.cer -keystore "c://Programe Files/Java/jdk1.7.0_75/jre/lib/security/cacerts" 。
4、其他命令:(查看证书列表、删除证书)
keytool -list -v -keystore "c://Programe Files/Java/jdk1.7.0_75/jre/lib/security/cacerts"。
密码是:123456。
www.bhz.com。
第二步
我们需要准备一个干净的tomcat,要做的事情就是启动web服务器(Tomcat)的SSL,也就是HTTPS加密协议。
实现:我们需要对Tomcat 进行配置 SSL(Secure Sockets Layer 安全套接层)。
修改 server.xml 文件:
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" schema="https" secure="true" clientAuth="false" sslPort="TLS" keyStoreFile="c://devsoftware/keys/keystore" keyStorePass="123456" />
keyStoreFile:在第一步创建的key的存放位置。
keyStorePass:创建证书时的密码。
注:如果不能访问,则需要对 c:/windows/system32/drivers/etc/hosts 文件的安全进行完全控制的权限允许。
如果能访问到 https://localhost:8443/ , 显示连接不信任,则表示已经配置成功。
第三步
接下来,我们需要配置 CAS 服务器了,CAS下载:cas-server-3.4.3.1.zip 解压,解压 cas-server-3.4.3/modules/cas-server-webapps-3.4.3.1.war,改名为 cas.war,然后复制 cas.war 到 tomcat/webapps 目录下,启动 tomcat ,并且访问地址:https://www.bhz.com:8443/cas/login,admin/admin 登录。