SSO 是 什 么?


                                                 SSO 是 什 么?

 


一、SSO是什么,

   

   定义SSO (Single Sign On)单点登录,简单的说,就是在一个系统共存的环境

下,用户在一处系统登录后,在进入其他的子系统,就不用在重新输入账号和密码了。

 

                               


 

例子网页博客和网页邮箱,当你输入了自己的账号密码,登录了网页邮箱之后,你要


进入网页博客,只需直接进入就行了,不用在重新输入网易邮箱的账户和密码。


比如:

   baidu.com => zhidao.baidu.com、music.baidu.com、baike.baidu.com......

   qq.com => feiji.qq.com、cd.qq.com、music.qq.com

 

   核心:实现单点登录说到底就是要解决如何产生和存储那个信任,再就是其他系统如

何验证这个信任的有效性,因此要点也就以下几个:


    1,  存储信任

    2,  验证信任


  

   只要解决了以上的问题,达到了开头讲得效果就可以说是SSO。最简单实现SSO的方法

就是用Cookie,顺序图(Sequence Diagram)如下:

 

              

 


二、体系组成:

  (1)有三个角色,

           User(多个)

           Web应用(多个)

           SSO认证中心(一个)

 

(2)客户端和服务端

   

CAS Server
    

    CAS Server 负责完成对用户信息的认证,需要单独部署,CAS Server 会处理用户


名 / 密码等凭证 (Credentials) 。就是 安装在服务器端的一个web程序 目前有耶鲁大


学的 也有其它机构开发的它是复制认证的服务器


  CAS Client
     CAS Client部署在客户端,当有对本地 Web 应用受保护资源的访问请求,并且需


要对请求方进行身份认证,重定向到 CAS Server 进行认证。

 

 

三、实现:

    实现方式一般有两种:跳转和弹出层回调。


   当用户在子系统未登录时,便会携带相关参数,比如tieba.baidu.com去到

SSO(passport.baidu.com)进行登录登录成功SSO会生成ticket key并附加给源网址跳

转回去,这个时候SSO上已经有用户的登录状态了,但是各个子系统仍然没有登录态,所

以根据这个ticket设置各个子系统独立的登录态是需要的。


  当在SSO验证结束后,会回到子系统,子系统会根据得到的ticket(SSO为此次登录生

成的用户基本信息加密串)获取用户的基本信息,从而在本站设置登录态。

 


四、小结单点登录优缺点

   

    优点:说白了SSO就是让用户只通过一次登录访问所有应用程序。它提供一个统一的

制来管理用户的身份验证,并实现业务规则来决定用户对应用程序和数据的访问。


  ·提高用户的效率。用户不再被多次登录困扰,也不需要记住多个 ID 和密码。另

外,用户忘记密码并求助于支持人员的情况也会减少。


  ·提高开发人员的效率SSO 为开发人员提供了一个通用的身份验证框架。实际上,

如果 SSO 机制是独立的,那么开发人员就完全不需要为身份验证操心。他们可以假设,

只要对应用程序的请求附带一个用户名,身份验证就已经完成了。


  ·简化管理。如果应用程序加入了单点登录协议,管理用户帐号的负担就会减轻。简

化的程度取决于应用程序,因为 SSO 只处理身份验证。所以,应用程序可能仍然需要设

置用户的属性(比如访问特权)。

 


  缺点:
  ·难以重构对 SSO 解决方案进行重构来适应现有的应用程序很困难,很耗费时间而
且昂贵。


  ·无人看守的桌面。实现 SSO 会减少一些安全风险,但是也增加了其他安全风险。例如,如果用户登录之后离开了他的机器,恶意用户就可以访问他的资源。尽管这是一

的安全问题,但是 SSO 会使这个问题更加严重,因为恶意用户可以访问所有获

得授权的资源。在采用多次登录方式时,用户每次只能登录进一个系统,所以只有一个

资源被泄露。


  ·单点攻击。在使用单点登录时,所有应用程序使用一个集中的身份验证服务。对于

希望实施拒绝服务攻击的黑客,这是一个有吸引力的目标。


 

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 61
    评论
评论 61
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值