单点登录(SingleSignOn,SSO),就是通过用户的一次性鉴别登录。 当用户在身份认证服务器上登录一次以后,即可获得访问单点登录系统中其他关联系统和应用软件的权限,同时这种实现是不需要管理员对用户的登录状态或其他信息进行修改的。 这意味着在多个应用系统中,用户只需一次登录就可以访问所有相互信任的应用系统。 这种方式减少了由登录产生的时间消耗,辅助了用户管理,是目前比较流行的。 传统登录流程图:单点登录流程图:SSO&CAS 是什么SSOSSO 是目前比较流行的服务于企业业务整合的解决方案之一。 SSO 使得在多个应用系统中,用户只需要 登录一次 就可以访问所有相互信任的应用系统。 CASCAS 是 Yale 大学发起的一个企业级的、开源的项目。 旨在为 Web 应用系统提供一种可靠的单点登录解决方法(SSO 的一种框架) CAS 包括两部分:CAS Server 和 CAS Client
单点登录适合什么场景拿新浪举个单点登录的例子 新浪微博与新浪博客是相互信任的应用系统:
单点登录的三种实现方式同域 SSO没有设置独立的 SSO 服务器,因为业务后台服务器本身就足以承担 SSO 的职能。 同父域 SSO和同域 SSO 不同在于,服务器在返回 cookie 的时候,要把 cookie 的 domain 设置为其父域。 跨域 SSO(CAS)设置专门 SSO 服务器,当两个产品不同域时,cookie 无法共享,从而我们就需要搭建 SSO 服务器。 CAS 的几个重要知识点接口:/login:登录接口,用于登录到中心服务器。 /logout:登出接口,用于从中心服务器登出。 票据1. TGT (Ticket Grangting Ticket) : TGT 是 CAS 为用户签发的登录票据,拥有了 TGT,用户就可以证明自己在 CAS 成功登录过。 TGT 封装了 Cookie 值以及此 Cookie 值对应的用户信息。 2. TGC(Ticket Granting Cookie) : CAS Server 生成 TGT 放入自己的 Session 中,而 TGC 就是这个 Session 的唯一标识(SessionId),以 Cookie 形式放到浏览器端。 3. ST(Service Ticket) : ST 是 CAS 为用户签发的访问某一 service 的票据。 用户访问 service 时,service 发现用户没有 ST,则要求用户去 CAS 获取 ST。 CAS 的实现过程跨域 SSO(CAS)实现过程
参考
|
|