cas实现单点登录-cas5.3.x服务器端搭建,并在tomcat上运行

最近公司要做一个单点登录的东西,这里记录一下步骤方便记忆
demo地址:https://github.com/hanxiaochuang666/cas-server

首先:对cas不了解的可以先看下官方文档,或者看下github官网

然后开门见山,直接开始搭建

我的环境:

  • windows 7 当然10也可以
  • tomcat 8 最少8以上
  • cas 5.3 其实5.3.x都行
  • java 8 最少8以上 如果是cas6.x官网要求jdk11,但是6.x还不完善,最好不要轻易尝试,出问题也没有博客可以解决

cas下载

cas下载,官方建议的是使用覆盖的形式:
cas实现单点登录-cas5.3.x服务器端搭建,并在tomcat上运行_第1张图片
为了方便我使用git去github官网down下来然后自己打包(没装git的,百度装一下就行了):

git clone -b 5.3 https://github.com/apereo/cas-overlay-template.git

下载下来后进入到主分支(就是pom.xml所在的目录下):
也就是进入到pom.xml所在的那一级
然后使用mvn打包方式打包:

mvn clean package

打包完成后看一下target下面就会有一个cas.war包
cas实现单点登录-cas5.3.x服务器端搭建,并在tomcat上运行_第2张图片

打包部署

将这个cas.war包复制一下放到tomcat的webapps下面:
cas实现单点登录-cas5.3.x服务器端搭建,并在tomcat上运行_第3张图片
然后启动tomcat就行了

启动之后在任意浏览器中输入:http://localhost:8088/cas/login
上面的8088是我自己改过tomcat的端口,默认是8080的
看到页面:
cas实现单点登录-cas5.3.x服务器端搭建,并在tomcat上运行_第4张图片
输入默认的用户名和密码:casuser/Mellon,点击登录:
cas实现单点登录-cas5.3.x服务器端搭建,并在tomcat上运行_第5张图片
这样就成功了!!!
但是这里有个问题,页面显示连接不是安全的:

cas实现单点登录-cas5.3.x服务器端搭建,并在tomcat上运行_第6张图片
所以需要开启tomcat的https访问模式

开启tomcat的https访问模式

ps:或者可以强制tomcat使用http访问:参考这个博主的,感觉挺靠谱:抛弃Https让Cas以Http协议提供单点登录服务

那么要使用https访问,就要有证书

配置证书

使用jdk自带的keytool工具,首先使用打开命令行win+r输入cmd:
cas实现单点登录-cas5.3.x服务器端搭建,并在tomcat上运行_第7张图片
进入到jdk的bin目录下:
cas实现单点登录-cas5.3.x服务器端搭建,并在tomcat上运行_第8张图片
然后输入:

keytool -genkey -alias tomcat -keyalg RSA -keystore D:/keystore

这条命令会在你的D盘下生成一个keystore文件,注意:输入的时候,秘钥库口令随便写,但是一定得记住,我这里输的是123456,名字与形式要写一个域名,并且这个域名客户端要用,且需要在host文件中配置
cas实现单点登录-cas5.3.x服务器端搭建,并在tomcat上运行_第9张图片
cas实现单点登录-cas5.3.x服务器端搭建,并在tomcat上运行_第10张图片

导出证书

keytool -export -trustcacerts -alias tomcat -file D:/tomcat.cer -keystore D:/keystore

这条命令会导出一个tomcat.cer文件,秘钥库口令就是上面输入的123456
cas实现单点登录-cas5.3.x服务器端搭建,并在tomcat上运行_第11张图片

导入证书到jdk中

这里需要注意你的cmd窗口是不是用管理员权限打开的,如果不确定,就关掉重新用管理员权限打开,否则导入的时候会报没有权限的错误导致导入不成功

keytool -import -trustcacerts -alias tomcat -file D:/tomcat.cer -keystore "C:/Program Files/Java/jdk1.8.0_71/jre/lib/security/cacerts"

注意上面的jdk路径要改成你自己的,导入的时候,先让你输一个秘钥库口令,注意这个口令不是上面的123456了,而是默认的changeit
成功后会弹出添加成功,可以验证一下:

keytool -list -keystore "C:\Program Files\Java\jdk1.8.0_71\jre\lib\security\cacerts" | findstr/i tomcat

有东西输出就成功了

配置dns域名解析

windows修改路径:C:\Windows\System32\drivers\etc
因为需要管理员权限,可以先复制到桌面,然后在最后添加一行:

127.0.0.1 hanchuang.com

然后再把文件复制回去

配置tomcat的service.xml文件

打开你的tomcat的service.xml文件,我的地址是
cas实现单点登录-cas5.3.x服务器端搭建,并在tomcat上运行_第12张图片
在Service节点下添加下面的代码(把自己的8080屏蔽掉):

  

保存后,重启tomcat,访问https://localhost:8443/cas/login
会提示不安全,我们选择下面的继续访问就可以了:
cas实现单点登录-cas5.3.x服务器端搭建,并在tomcat上运行_第13张图片
然后右面的那个提示就没有了:
cas实现单点登录-cas5.3.x服务器端搭建,并在tomcat上运行_第14张图片
或者使用域名访问:
tomcat主页:https://hanchuang.com:8443

cas实现单点登录-cas5.3.x服务器端搭建,并在tomcat上运行_第15张图片
cas主页:https://hanchuang.com:8443/cas/login
cas实现单点登录-cas5.3.x服务器端搭建,并在tomcat上运行_第16张图片

参考

这个博主很强:https://blog.csdn.net/yelllowcong/article/details/78805420

你可能感兴趣的:(笔记记录)