单点登录

一、介绍

  要实现SSO,需要以下主要的功能:

  所有应用系统共享一个身份认证系统(Server):统一的认证系统是SSO的前提之一。认证系统的主要功能是将用户的登录信息和用户信息库相比较,对用户进行登录认证;认证成功后,认证系统应该生成统一的认证标志(ticket),返还给用户。另外,认证系统还应该对ticket进行效验,判断其有效性。

  所有应用系统(Client)能够识别和提取ticket信息:要实现SSO的功能,让用户只登录一次,就必须让应用系统能够识别已经登录过的用户。应用系统应该能对ticket进行识别和提取,通过与认证系统的通讯,能自动判断当前用户是否登录过,从而完成单点登录的功能。

二、CAS

  cas是 Yale 大学发起的一个企业级的、开源的项目,旨在为 Web 应用系统提供一种可靠的单点登录解决方法(属于 Web SSO)。项目地址

  CAS 包括两部分: CAS Server 和 CAS Client 。

  CAS Server 负责完成对用户的认证工作 , 需要独立部署 , CAS Server 会处理用户名 / 密码等凭证(Credentials) 。

  CAS Client与受保护的客户端应用部署在一起,以 Filter 方式保护受保护的资源。负责处理对客户端受保护资源的访问请求,需要对请求方进行身份认证时,重定向到 CAS Server 进行认证。

  CAS流程:

注: 业务系统需要向SSO服务器验证ST是否有效,以防SSO随便给业务系统一个ST,那么业务系统是不能确定这个ST是用户伪造的,还是真的有效,所以要拿着这个ST去SSO服务器再问一下,这个用户给我的ST是否有效,是有效的我才能让这个用户访问。

CAS搭建单点登录

CAS 配置rest认证

APP端接入cas方案

  三、XXL-SSO 分布式单点登录框架

    拥有"轻量级、分布式、跨域、Cookie+Token均支持、Web+APP均支持"等特性。项目地址


    基于Cookie单点登录架构:

注:session和token参考

为什么使用token?session与token的区别

token和session的区别

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容