如何利用tomcat和cas实现单点登录,借鉴了网上的很多教程,主要分为以下几个步骤:
一:下载好cas,tomcat之后,首先配置tomcat:
用鼠标右键点击"计算机"→选择"属性"→选择"高级系统设置"→在高级中选择"环境变量"→在系统变量中进行修改
① 新建CATALINA_BASE,变量值为tomcat的安装路径:
D:\Java\apache-tomcat-8.0.14-windows-x64\apache-tomcat-8.0.14
② 新建CATALINA_HOME,变量值同上。
③ 新建TOMCAT_HOME,变量值同上。
④ 改ClassPath,在原来的一大串字符串后面加上:
.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%CATALINA_OME%\lib\servlet-api.jar;
⑤ 改Path,在原来的后面字符串加上:
;%JAVA_HOME%\bin;%CATALINA_HOME%\lib;%CATALINA_HOME%\bin;
最后,在cmd命令行里输入startup,出现如下界面就成功了。
另外,如果不按如上配置,直接点击startup也能够达到后面想要的效果。
然后,配置tomcat以支持ssl协议(SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。):
二:生成SSL证书
- 删除 %JRE_HOME%/lib/security/cacerts(不知道有什么意义。。照做),在cmd界面cd到keytool所在的文件夹。
我的是这个:C:\Program Files\Java\jdk1.8.0_11\bin
- 生成证书
keytool -genkey -alias tomcat(注释:这个是别名) -keyalg RSA(注释:这个是指定加密方法为rsa) -keystore D:\Keys\tomcat.keystore (注释:这里表明生成一个名字是tomcat.keystore的证书)
注意:1.这里输入密钥口令时是不会显示出来的;
2.网上都强调名字与姓氏要写域名,我是本机,就写了localhost
最后,结果如下。
- 导出证书
在cmd界面Cd到tomcat的bin目录,我的是:D:\Java\apache-tomcat-8.0.14-windows-x64\apache-tomcat-8.0.14\bin、
然后输入指令:
keytool –export -alias tomcat -file D:/Java/keys/tomcat.crt -keystore D:/Java/keys/tomcat.keystore -storepass changeit
结果如下:
- 导入证书(这个是为客户端的JVM导入的)
sudo keytool -import -keystore “C:\Program Files\Java\jre8\lib\security\cacerts” -file D:/Java/keys/tomcat.crt -alias tomcat
- 应用证书到tomcat
启用Web服务器(Tomcat)的SSL,也就是HTTPS加密协议,打开tomcat目录的conf/server.xml文件,开启83和87行的注释代码,修改如下:
网上很多教程都把protocol改成了HTTP/1.1,不知道是不是版本问题,不能用了,所以这里默认就行。
接下来,我们在浏览器里输入 hrrps:://localhost:8443就能看到自己发布的证书信息了。
三. 部署cas
1.CAS服务端下载:http://www.jasig.org/cas/download
2.下载完成后将cas-server-4.0.0.zip解压,
解压后把里面的modules文件夹里的cas-server-webapp-4.0.0.war ,
复制到目录到你的tomcat/webapp目录下,然后改名为cas。
3.现在可以访问CAS应用了,当然要使用HTTPS加密协议访问,
https://localhost:8443/cas/login,打开了CAS服务器的页面输入casuser/Mellon点击登录。
注意:这只是cas自带的简单登录,帐号密码是写在配置文件中的deployerConfigContext里,primaryAuthenticationHandler这个bean里面,不是以前帐号密码输入一致就能登录了。(我在这里还以为我哪里配置错了,木了好久)
今天先到这里,明天记录自己如何通过验证mysql数据库中帐号密码登录。
最后,记录一下查看keytool工具的使用说明的网址:
http://www.micmiu.com/lang/java/keytool-start-guide/