CAS实现单点登录

SSO (Single Sign On)单点登录:在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统.

 

CAS实现单点登录

 

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

*当用户首次访问新浪微博时,认证中心识别到用户未登录,将请求重定向到登录页.

*当用户已登录再访问新浪博客时,认证中心识别到用户已登录,返回用户的身份,此时用户无需登录即可使用新浪博客.

 

 

CAS :Yale 大学发起的一个开源项目,旨在为 Web 应用系统提供一种可靠的单点登录方法, CAS 在 2004 年 12 月正式成为 JA-SIG 的一个项目. 

 

CAS实现单点登录

 

CAS包含CAS Client 和 CAS Server.

CAS Client:要使用单点登录的Web应用, 将与同组下的Web应用构成相互信任的关系,只需在web应用中添加CAS提供的Listener和Filter即可成为CAS Client ,其主要负责对客户端的请求进行重定向和校验ticket工作.

CAS Server:主要负责对用户的用户名/密码进行认证, 颁发票据等, 需要单独的进行部署.

*同组下的任意一个Web应用登录后其他应用都不需要登录即可使用.

 

 

2.CAS服务器搭建

 

 

2.1 去CAS官网下载CAS源码包

 

将下载的源码包中的cas-server-webapp工程导入ide中,将工程导出为war包,直接放入tomcat下的webapp中运行.

*CAS 5.0版本以上需要jdk1.8和gradle进行构建、4.X版本使用maven进行构建(maven 3.3+)

 

 

2.2 在Tomcat中开启HTTPS协议

 

*由于CAS Server默认使用HTTPS协议进行访问,因此需要在Tomcat中开启HTTPS协议.

 

1.使用JDK提供的keytool命令生成秘钥库

CAS实现单点登录

 

2.修改tomcat配置并开启8443端口

 

在tomcat/conf/server.xml中添加:

<!-- 单向认证 --> <Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="www.gimc.cn.keystore" keystorePass="123456" />

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wsspyp.html