原创做品,容许转载,转载时请务必以超连接形式标明文章 原始出处 、做者信息和本声明。不然将追究法律责任。http://dba10g.blog.51cto.com/764602/1753086java
前言git
这一段时间,心血来潮研究了下CAS这个应用。对它感兴趣,几年前就有过,就是一直没有踏实好好研究,一直是断断续续的纸上谈兵,东看看,西看看。CAS说白了主要涉及权限认证相关,逻辑很是简单。但真正部署起来,也不是一件容易事。我想主要缘由以下。github
因为知名缘由,访问官网很是有难度,系统全面地获取资料很是难,且中文资料更少web
国内虽然已经有不少博客论坛已经分享了不少部署步骤和认证流程,但一步步真正演练起来,很是困难,对遇到的异常提到的不多。一些必要的参数,根本不提。让后来者多走了不少弯路。况且,博客年代大可能是年代久远了。apache
我的成功部署起来一套完整的应用,包括CAS普通模式,CAS 代理模式。居然花了5个晚上,(1)部分缘由是网上资源不靠谱。(2)涉及maven解决jar依赖关系耗时耗力,恶心。(3)想搜索遇到的异常解决方案,根本没有文章提到。浏览器
我的想把本身辛苦5个晚上的经历和异常分享出来,但愿和你们一块儿成长,你们少走弯路。本博客的重点是技术不走层面,理论讲解相关的放到次要位置,但也不是不提。tomcat
准备工做安全
先须要了解相关的概念。服务器
SSO(单点登陆)app
CAS
HTTPS
COOKIE,SESSION
安全证书
加密解密等
环境参数
涉及的全部参数都在个人实体机(WIN7)完成的。分别安装了3个TOMCAT服务端。
域名映射(C:\Windows\System32\drivers\etc\hosts)
1 2 |
|
主机名
zhaoguoyu-pc
主要内容
建立证书
部署CAS服务器
建立证书
使用java keytool证书工具(官方例子)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
|
1.输入姓名时,要输入你及其的机器名。
2.若是你之前省生成过证书,可能会报密码不正确相似,试一试密码改成"changeit"
3.解释下导入到${java_home}\jre\lib\security目录下,证书名必须是cacerts。影响的是整个JDK环境,也就意味着影响了后来部署的tomcat app应用。刚开始,我一直没弄明白,这一步是的具体含义。看多了博客,本身揣摩的。
4.最好备份一套本地jre环境.由于你替换了证书以后,使用maven时会报安全方面的错误。到时临时切换下环境便可,省了麻烦事。
若是你懂得反呛,参考连接
https://wiki.jasig.org/display/CASUM/Demo
https://wiki.jasig.org/display/CASUM/SSL+Troubleshooting+and+Reference+Guide
部署CAS服务器
(1)安装Tomcat服务器,最好复制三分。
略
( 2) 开启SSL
打开tomcat目录的conf/server.xml文件。
修改内容片断以下
1 2 3 4 5 6 7 |
|
参数说明:
keystoreFile:在第一步建立的key存放位置
keystorePass:建立证书时的密码
这是使用的keystoreFile 参数指定的.keystore文件是上面keytool -genkey 步骤中自动生成的。该文件是个隐形文件,通常默认在个人文档下面。
(3) 修改端口
1 |
|
2.官方文档中能够关闭8080端口,仅仅使用443安全端口,可是为了我们之后与IDEA或Eclipse部署源码,最好暴露。不然不能很好的集成。总之在IDEA工具老是这样。
1 2 3 |
|
(4)部署cas server
下载完成后将cas-3.5.3.zip解压,解压cas-server-3.5.3/modules/cas-server-webapp-3.5.3.war,更名为cas,而后复制cas目录到你的tomcat/webapp目录下便可。固然,也能够下载源码本身生成war包。我就是下载的源码,本身使用maven打包的。源码下载地址是https://github.com/Jasig/cas/releases/tag/v3.5.3。
启动tomcat,浏览器输入地址https://zhaoguoyu-pc/cas/login
接下来:输入用户名/密码。主要用户名和密码相同便可。能够输入admin/admin 或者test/test
出现这个画面,就表示你CA 服务器安装成功了。
若是没有成功,通常主要是证书方面的问题。
1.确认证书是否使用的是机器名。
2.确认选择的JDK。
3.最好在环境变量中不要设置TOMCAT_HOME环境变量。
4.若是Tomcat不能正常启动,大部分是端口被占用,请修改其余端口。
5.确认Tomcat SSL 的protoca协议
本文出自 “简单” 博客,请务必保留此出处http://dba10g.blog.51cto.com/764602/1753086