CAS单点登陆原理简介及环境搭建

2020-06-11  本文已影响0人  平凡人笔记

前言

最近这几天在研究CAS 今天终于在本地部署成功了 今天写一篇文章记录下

原理简介

SSO单点登录

在多个相互信任的系统中,用户只需要登录一次就可以访问其他受信任的系统。

新浪微博与新浪博客是相互信任的应用系统。

CAS包含CAS Client 和 CAS Server两部分

搭建CAS服务端

环境准备

jdk1.8、tomcat9、maven3+、idea

下载springboot5.x版本 cas-server代码

git clone https://gitee.com/pingfanrenbiji/cas-overlay-template.git -b 5.2

导入idea中 目录结构为

tomcat启动

访问

现在需要解决页面上的2个报红

个就是说你没用HTTPS登录,另一个就是你现在只有一个写死的用户,目前这个服务端只能看看,没什么实际用途。

https配置

keytool -genkey -alias cas -keyalg RSA -keysize 2048 -keypass 123456 -storepass 123456 -keystore /Users/mengfanxiao/Documents/project/person/springboot/shiro-cas/cas/keystore/liuyx.keystore -dname "CN=cas.example.org,OU=liuyx.com,O=liuyx,L=JiNan,ST=JiNan,C=CN"
sudo vim /etc/hosts
127.0.0.1 cas.example.org
conf/server.xml

注视掉8080端口访问

<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true">
<SSLHostConfig>
<Certificate certificateKeystoreFile="/Users/mengfanxiao/Documents/project/person/springboot/shiro-cas/cas/keystore/liuyx.keystore" type="RSA" certificateKeystoreType="JKS" certificateKeystorePassword="123456"/>
</SSLHostConfig>
</Connector>

登陆用户从数据库中读取

数据库文件及账号数据

再次访问

https://cas.example.org:8443/cas_overlay_war/login

搭建CAS客户端

下载官方demo client

https://gitee.com/pingfanrenbiji/cas-sample-java-webapp.git

目录结构

地址配置

生成客户端访问服务端的证书

我是在本地电脑进行测试的 所以客户端和服务器端都是在同一太电脑上
keytool -exportcert -alias cas -keystore /Users/mengfanxiao/Documents/project/person/springboot/shiro-cas/cas/keystore/liuyx.keystore -file /Users/mengfanxiao/Documents/project/person/springboot/shiro-cas/cas/keystore/liuyx.keystore.cer -storepass 123456
sudo keytool -import -alias cas -keystore /Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk/Contents/Home/jre/lib/security/cacerts -file /Users/mengfanxiao/Documents/project/person/springboot/shiro-cas/cas/keystore/liuyx.keystore.cer

默认密码:changeit
keytool -list -keystore /Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk/Contents/Home/jre/lib/security/cacerts
keytool -delete -alias cas -keystore  /Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk/Contents/Home/jre/lib/security/cacerts

tomcat启动

访问

https://localhost:8444/cas_sample_java_webapp_war_exploded/
输入用户名和密码之后
直接略过授权页面

配置http方式访问

http://localhost:8081/cas_sample_java_webapp_war_exploded/
上一篇下一篇

猜你喜欢

热点阅读