单点登陆SSO简介

1、什么是单点登陆SSO(Single Sign-On)安全

  SSO是一种统一认证和受权机制,指访问同一服务器不一样应用中的受保护资源的同一用户,只须要登陆一次,即经过一个应用中的安全验证后,再访问其余应用中的受保护资源时,再也不须要从新登陆验证。服务器

2、单点登陆解决了什么问题框架

  解决了用户只须要登陆一次就能够访问全部相互信任的应用系统,而不用重复登陆。spa

3、单点登陆的技术实现机制blog

  以下图所示:资源

  

    当用户第一次访问应用系统1的时候,由于尚未登陆,会被引导到认证系统中进行登陆;根据用户提供的登陆信息,认证系统进行身份效验,若是经过效验,应该返回给用户一个认证的凭据--ticket;用户再访问别的应用的时候,就会将这个ticket带上,做为本身认证的凭据,应用系统接受到请求以后会把ticket送到认证系统进行效验,检查ticket的合法性(4,6)。若是经过效验,用户就能够在不用再次登陆的状况下访问应用系统2和应用系统3了。开发

从上图能够看出sso的实现技术点:效率

  1)全部应用系统共享一个身份认证系统登录

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

  2)全部应用系统可以识别和提取ticket信息

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

关于统一身份认证机制:以下图

    ①用户请求访问业务系统。

  ②业务系统在系统中查看是否有对应请求的有效令牌,如有,则读取对应的身份信息,容许其访问;若没有或令牌无效,则把用户重定向到统一身份认证平台,并携带业务系统地址,进入第③步。

  ③在统一身份认证平台提供的页面中,用户输入身份凭证信息,平台验证此身份凭证信息,如有效,则生成一个有效的令牌给用户,进入第④步;若无效,则继续进行认证,直到认证成功或退出为止。

  ④用户携带第③步获取的令牌,再次访问业务系统。

  ⑤业务系统获取用户携带的令牌,提交到认证平台进行有效性检查和身份信息获取。

  ⑥若令牌经过有效性检查,则认证平台会把令牌对应的用户身份信息返回给业务系统,业务系统把身份信息和有效令牌写入会话状态中,容许用户以此身份信息进行业务系统的各类操做;若令牌未经过有效性检查,则会再次重定向到认证平台,返回第③步。

  经过统一身份认证平台获取的有效令牌,能够在各个业务系统之间实现应用漫游。

4、单点登陆的优势

  1)提升用户的效率。

    用户再也不被屡次登陆困扰,也不须要记住多个 ID 和密码。另外,用户忘记密码并求助于支持人员的状况也会减小。 

  2)提升开发人员的效率。

    SSO 为开发人员提供了一个通用的身份验证框架。实际上,若是 SSO 机制是独立的,那么开发人员就彻底不须要为身份验证操心。他们能够假设,只要对应用程序的请求附带一个用户名,身份验证就已经完成了。 

  3)简化管理。

    若是应用程序加入了单点登陆协议,管理用户账号的负担就会减轻。简化的程度取决于应用程序,由于 SSO 只处理身份验证。因此,应用程序可能仍然须要设置用户的属性(好比访问特权)。

5、单点登陆的缺点

  1)不利于重构

    由于涉及到的系统不少,要重构必需要兼容全部的系统,可能很耗时

  2) 无人看守桌面

    由于只须要登陆一次,全部的受权的应用系统均可以访问,可能致使一些很重要的信息泄露。

相关文章
相关标签/搜索