单点登录英文全称Single Sign On,简称就是SSO。它的解释是:在多个应用系统中,只需要登录一次,就可以访问其他相互信任的应用系统。
实现单点登录是要解决如何产生和存储那个信任,以及其他系统如何验证这个信任的有效性,两个要点:
- 存储信任
- 验证信任
普通的登录认证机制:
使用场景:
- 互联网项目(soa分布式架构下是会有多个项目,如果跨服调用项目之间跳转能够自认证
- 传统项目:权限集成
cas
- 概念:是耶鲁大学的一个开源项目 cas是单点登录的一个解决方案
- 优点:基本不用写代码就可以实现单点登录,原理是 cas 本身就是一个现成的项目,部署到linux中形成一个单点登录的服务器 ,项目中配置cas客户端的登录包,就可以不写代码实现单点登录
- cas安装:
修改的五个文件分别是:
- Linux中tomcat安装目录conf/server.xml中的端口号,防止与solr冲突:
- Linux中tomcat安装目录/webapps/cas/WEB-INF/cas.properties(要与tomcat安装目录conf/server.xml中的端口号保持一致:
- Linux中tomcat安装目录/webapps/cas/WEB-INF/deployerConfigContext.xml中id为proxyAuthenticationHandler的bean标签加一个属性:
p:requireSecure="false"
- Linux中tomcat安装目录/webapps/cas/WEB-INF/spring-configuration/ticketGrantingTicketCookieGenerator.xml的bean标签中的属性的属性值重新设置一下值:
p:cookieSecure="false"
p:cookieMaxAge="3600"
- Linux中tomcat安装目录/webapps/cas/WEB-INF/spring-configuration/warnCookieGenerator.xml的bean标签中的属性的属性值重新设置一下值:
p:cookieSecure="false"
p:cookieMaxAge="3600"
注:cas随Tomcat启动而启动
over~