ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

单点登录(SSO)和多点登录

2020-01-21 18:03:11  阅读:201  来源: 互联网

标签:单点 登录 验证 系统 用户 SSO Cookie 应用


SSO(单点登录)的概念:在一个多系统共存的环境下,用户在一处登录后,就不用再其他系统中登录,也就是用户的一次登录能得到其他所有系统的信任。

SSO(单点登录)的应用场景:单点登录在大型网站使用非常频繁,例如阿里巴巴网站,在网站的背后是成白上千的子系统,用户的一次操作可能涉及到几十个子系统的协作,如果每个子系统都需要用
户验证,不仅用户会疯掉,各系统也会为这种重复授权搞疯。

需要解决的两点:解决如何产生和存储信任,系统如何验证这个信任的有效性(1.存储信任 2.验证信任)

解决方案:
1.以Cookie作为凭证媒介,通过JSONP实现
用户登录父应用系统后,跟Session匹配的Cookie会存到客户端中,当用户登录子应用系统时,授权应用访问父应用提供的JSONP接口,并在请求中
带上父应用系统域名下Cookie,父应用接收到请求,验证用户的登录状态,
如果登录中则返回加密信息,子应用通过解析返回加密信息验证,验证通过则登录成功子应用系统
如果不是登录中则返回重新登录页面
优点:简单方便
缺点:信任全部压在Cookie加密中,如果加密算法泄露了,攻击者可以在本地建立一个实现了登录接口的假冒父应用,通过绑定host来把子应用发起的请求指向本地假冒的父应用
并作出回应通过验证,登录特定用户

2.通过页面重定向的方式
通过父应用和子应用来回重定向进行通信实现信息安全传递。父应用提供一个GET方式登录接口,用户通过子应用重定向连接方式访问这个接口。如果用户还没有登录则返回登录页面,
如果用户登录了则生成加密的Token并且重定向到子应用提供验证Token的接口,通过解密校验后,登录当前用户
优点:较Cookie方式安全些
缺点:不方便

3.使用独立登录系统
把授权的逻辑与用户信息的相关逻辑独立成一个应用(用户中心),用户中心不处理业务逻辑,只是处理用户信息的管理以及授权给第三方应用。第三方应用需要登录的时候把请求转发给用户中心
进行处理,处理完毕后返回凭证,第三方验证凭证,通过后就登录用户

多点登录的概念:同一账号可以在不同终端同时登录,同时收发信息。

多点登录限制(禁止用户多点在线):一个端同一个账号只能登录一个实例,例如一个账号在网站端登录后,后一个人使用这个账号在网站端登录,前一个人会被挤下去并会收到通知“你已在别处登录....”

标签:单点,登录,验证,系统,用户,SSO,Cookie,应用
来源: https://www.cnblogs.com/ButterflyEffect/p/12222660.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有