1. 单点登录
单点登录(Single Sign-On,简称SSO) ,允许用户使用一组凭据(如用户名和密码)登录到多个相关但独立的软件系统或应用程序中。
是指在多系统应用群中,登录一个系统,便可在其他所有系统中得到授权而无需再次登录。包括单点登录与单点注销两部分。简而言之,多个系统,统一登录。
单点登录是一种定义怎样登录的规范,并非具体登登录得技术实现。
单点登录原理:相比于单系统登录,SSO需要一个独立的认证中心。只有认证中心能接受用户的用户名或密码等安全信息,其他系统不提供登录入口,只接受认证中心的间接授权。
间接授权通过令牌实现,SSO认证中心验证用户得用户名、密码通过,创建授权令牌;在接下来的得跳转过程中,授权令牌作为参数发送给各个子系统,子系统得到令牌,即得到了授权;
可以借此创建局部会话,局部会话登录方式与单系统登录方式相同。
通过单点登录,用户体验得到改善,因为可以更轻松地切换和访问不同的应用程序,而不需要频繁地输入用户名和密码。
此外,单点登录还可以提高安全性,因为用户只需记住一组凭据,减少了因为使用弱密码或忘记密码而带来的风险。
2. CAS与搭建
CAS(Central Authentication Service)项目,它是由Yale大学发起的,旨在为Web应用系统提供可靠的单点登录方法。CAS提供了一种基于票据的认证系统,允许用户在一次登录后访问多个相关但独立的应用程序而无需重新认证。
CAS项目于2004年12月成为了JA-SIG(Java Architectures Special Interest Group)的一个项目,后来成为了Apereo基金会的一部分。JA-SIG和Apereo旨在支持开源软件在教育领域的使用,CAS作为其中一个项目,为许多学术和非学术机构提供了可靠的单点登录解决方案。
CAS项目的核心思想是通过一个中心化的认证服务器来管理用户的身份认证,以及颁发和验证票据来实现单点登录。它为用户提供了方便的登录体验,同时提高了安全性和管理效率。
CAS(Central Authentication Service)本身是一个独立的认证服务器,也是一个灵活的认证解决方案,可以与各种不同的Web服务器和应用程序进行集成,包括Tomcat和支持HTTPS的服务器。
1) Tomcat HTTPS支持
1.生成密钥库 1)d盘下面建一个文件夹cas,文件夹下面再建一个文件夹keystore(存放证书的地方) 2)keytool -genkey -v -alias l_bei -keyalg RSA -keystore D:\cas\keystore\l_bei.keystore PS:keytool:jdk自带工具,用于生成密钥。输入口令(随便输,自己记得就行)
2.从密钥库导出证书 keytool -export -trustcacerts -alias l_bei -file D:/cas/keystore/l_bei.cer -keystore D:/cas/keystore/l_bei.keystore
3.将证书导入到JDK证书库 keytool -import -trustcacerts -alias l_bei -file D:/cas/keystore/l_bei.cer -keystore "D:\JAVAJDK11\jdk-11.0.16.1\lib\security\cacerts" PS:注意jdk路径。
4.查看证书列表: keytool -list -keystore "D:\JAVAJDK11\jdk-11.0.16.1\lib\security\cacerts"
5.删除证书 keytool -delete -alias l_bei -keystore "D:\JAVAJDK11\jdk-11.0.16.1\lib\security\cacerts"
2) Tomcat 配置 HTTPS 支持
步骤一:打开tomcat下的conf下的server.xml文件,然后找位置copy保存,协议 最大线程 开启ssl。
<Connector port="8444" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="D:\cas\keystore\l_bei.keystore" keystorePass="ll163.cn"/>
PS:注意keystore路径与密钥密码。
步骤二:乱码,在conf 找 logging.properties 文件,找到下面配置修改:UTF-8改为GBK。
java.util.logging.ConsoleHandler.encoding = GBK
步骤三:下载war包,放到tomcat/webapps目录下,修改war包名字为cas.war。
war包下载:https://repo1.maven.org/maven2/org/apereo/cas/cas-server-webapp-tomcat/5.3.14/
下载:cas-server-webapp-tomcat-5.3.14
步骤四:修改用户名和密码
在 webapps 下找文件夹:cas apache-tomcat-cas\webapps\cas\WEB-INF\classes 如果没有,先启动一下tomcat。bin\startup.bat 启动后。 找到文件: application.properties 打开最后一行有用户名密码: cas.authn.accept.users=casuser::Mellon casuser为用户名; Mellon为密码;
再次启动tomcat,访问: https://localhost:8444/cas/login
标签:keystore,bei,单点,登录,cas,认证,SSO From: https://www.cnblogs.com/warmNest-llb/p/18028245