SSO单点登录
什么是SSO
单点登录( Single Sign-On , 简称 SSO )是指在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。它包含多个用户,多个应用,1个SSO认证服务三种角色。SSO 实现模式多种多样,但要包括以下三个原则:
1、所有的认证登录都在 SSO 认证中心进行;
2、SSO 认证中心通过一些方法来告诉 Web 应用当前访问用户究竟是不是已通过认证的用户;
3、SSO 认证中心和所有的 Web 应用建立一种信任关系,也就是说 web 应用必须信任认证中心。(单点信任)
CAS企业级单点登录框架
CAS(Central Authentication Service中央认证服务) Yale 大学发起的一个开源项目,旨在为 Web 应用系统提供一种可靠的单点登录方法,CAS 在 2004 年 12 月正式成为 JA-SIG 的一个项目。
CAS 包括两部分: CAS Server 和 CAS Client 。实现流程如图:
缺点:
1.架构笨重
2.基于JAVA安全证书的 https 访问,需要购买证书。
同主域下模拟CAS实现单点登录
假设有两个网站分别为a.mysite.com(简称a服务)和b.mysite.com(简称b服务),和一个SSO单点登录服务sso.mysite.com(简称sso服务)。
实现步骤:
1、 用户访问a.mysite.com,在a服务上使用拦截器检查Cookie中是否有Token;
2、 如果发现没有授权,此时跳转到sso.mysite.com网站进入登录认证;
3、 sso服务处理流程
1、