一、cas是什么?为什么要用?
简单点就是统一服务认证,多个系统一次登录。俗称单点登录。
二、 认证的流程是什么样的?
:首先由CAS Client(我们的客户端应用)发起请求,CAS Client 会重定向到CAS Server进行登录,CAS Server进行账户校验且多个CAS Client 之间可以共享登录的 session ,Server 和 Client 是一对多的关系。基于CAS的SSO访问流程步骤:
访问服务: CAS Client 客户端发送请求访问应用系统提供的服务资源。
定向认证: CAS Client 客户端会重定向用户请求到 CAS Server 服务器。
用户认证: 用户在浏览器端输入用户验证信息,CAS Server服务端完成用户身份认证。
发放票据: CAS Server服务器会产生一个随机的 Service Ticket 。
验证票据: CAS Server服务器验证票据 Service Ticket 的合法性,验证通过后,允许客户端访问服务。
传输用户信息: CAS Server 服务器验证票据通过后,传输用户认证结果信息给客户端。
三、服务端搭建 Cas Client
1.环境准备
tomcat下载地址:https://tomcat.apache.org/download-90.cgi
cas server 下载地址 :https://repo1.maven.org/maven2/org/apereo/cas/cas-server-webapp-tomcat/5.3.14/
https环境配置:
使用jdk生成密钥和证书
第一步
keytool -genkey -v -alias java1234 -keyalg RSA -keystore D:\CAS\keystore\java1234.keystore
路径可以改,使用自己的路径,但是需要手动创建好文件夹
不然就会出现这个提示。正确创建完会出现
这个时候看指定的文件夹是否存在文件,如果没有,出现其他问题请留言截图,互相学习。
第二步
导出证书
keytool -export -trustcacerts -alias java1234 -file D:\CAS\keystore\java1234.cer -keystore D:\CAS\keystore\java1234.keystore
第三步
把证书导入到jdk中
keytool -import -trustcacerts -alias java1234 -file D:\CAS\keystore\java1234.cer -keystore D:\java\jdk1.8.0_91\jre\lib\security\cacerts
这里注意把jdk中D:\java\jdk1.8.0_91\jre\lib\security\cacerts 文件删除在生成,要不会出现
第四步
配置tomcat
<Connector port="8443" protocol="org.apache.coyote.http11.Http11AprProtocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="D:\CAS\keystore\java1234.keystore"
keystorePass="上面设置的密码" />
然后运行tomcat,访问https://localhost:8443/,可以访问表示配置成功。
出现日志乱码的情况的话,修改tomcat的配置
第五步
把下载好的 cas server 放到tomcat webapps下面
访问https://localhost:8443/cas/login,出现如图,表示成功。
进入D:\CAS\apache-tomcat-9.0.76-windows-x64\apache-tomcat-9.0.76\webapps\cas\WEB-INF\classes目录下,打开application.properties文件
这是账号密码,可以登录。