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下载,官方建议的是使用覆盖的形式
覆盖形式的官方描述
为了方便我使用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.war

打包部署

将这个cas.war包复制一下放到tomcat的webapps下面:
就是图中这里
然后启动tomcat就行了

启动之后在任意浏览器中输入:http://localhost:8088/cas/login
上面的8088是我自己改过tomcat的端口,默认是8080的
看到页面:
登录页面
输入默认的用户名和密码:casuser/Mellon,点击登录:
登录成功
这样就成功了!!!
但是这里有个问题,页面显示连接不是安全的:

在这里插入图片描述
所以需要开启tomcat的https访问模式

开启tomcat的https访问模式

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

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

配置证书

使用jdk自带的keytool工具,首先使用打开命令行win+r输入cmd:
在这里插入图片描述
进入到jdk的bin目录下:
在这里插入图片描述
然后输入:

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

这条命令会在你的D盘下生成一个keystore文件,注意:输入的时候,秘钥库口令随便写,但是一定得记住,我这里输的是123456,名字与形式要写一个域名,并且这个域名客户端要用,且需要在host文件中配置
在这里插入图片描述
在这里插入图片描述

导出证书

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

这条命令会导出一个tomcat.cer文件,秘钥库口令就是上面输入的123456
在这里插入图片描述

导入证书到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文件,我的地址是
在这里插入图片描述
在Service节点下添加下面的代码(把自己的8080屏蔽掉):

  <Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
             minSpareThreads="5" maxSpareThreads="75"
             enableLookups="true" disableUploadTimeout="true"
             acceptCount="100"  maxThreads="200"
             scheme="https" secure="true" SSLEnabled="true"
             clientAuth="false" sslProtocol="TLS"
             keystoreFile="D:/keystore"
             keystorePass="123456"/>

保存后,重启tomcat,访问https://localhost:8443/cas/login
会提示不安全,我们选择下面的继续访问就可以了:
在这里插入图片描述
然后右面的那个提示就没有了:
在这里插入图片描述
或者使用域名访问:
tomcat主页:https://hanchuang.com:8443

在这里插入图片描述
cas主页:https://hanchuang.com:8443/cas/login
在这里插入图片描述

参考

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

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值