单点登录 布满荆棘的人生 2021-11-11 04:10 441阅读 0赞 什么是单点登录? 单点登录(Single Sign On)说的简单点就是在一个多系统共存的环境下,用户在一处登录后,就不用在其它系统中登录。也就是用户的一次登录能得到其它所有系统的信任。 **1.以Cookie作为凭证媒介** 这是最简单的单点登录实现方式,是使用cookie作为媒介,存放用户凭证。用户登录父应用之后,应用返回一个加密的cookie。当用户访问子应用的时候,携带上这个cookie,授权应用解密cookie并进行校验,检验通过则登录当前应用。 ![aHR0cHM6Ly91cGxvYWQtaW1hZ2VzLmppYW5zaHUuaW8vdXBsb2FkX2ltYWdlcy81ODczMjczLThiZWY2OWUwZjllM2Q3YmQuanBnP2ltYWdlTW9ncjIvYXV0by1vcmllbnQvc3RyaXAlN0NpbWFnZVZpZXcyLzIvdy8xMjQwJnlub3RlbWR0aW1lc3RhbXA9MTU2NDg4NzE2OTg3MA][] 这个方案相应会存在一些问题: * cookie不安全 * 不能跨域实现免登陆 **2.通过JSONP实现** 这个方案的出现场景,利用了它的好处,解决跨域问题。但是也有它独特的点(可利用的场景问题) 用户在父应用中登录后,跟Session匹配的Cookie会存到客户端中,当用户需要登录子应用的时候,授权应用访问父应用提供的JSONP接口,并且在请求中带上父应用域名下的Cookie,父应用接收请求,验证用户登录状态,返回加密信息,子应用通过解析返回来的加密信息来验证用户,如果通过验证则登录用户。 ![aHR0cHM6Ly91cGxvYWQtaW1hZ2VzLmppYW5zaHUuaW8vdXBsb2FkX2ltYWdlcy81ODczMjczLTNlYTQ3Y2ZhZGVlN2NmMjUuanBnP2ltYWdlTW9ncjIvYXV0by1vcmllbnQvc3RyaXAlN0NpbWFnZVZpZXcyLzIvdy8xMjQwJnlub3RlbWR0aW1lc3RhbXA9MTU2NDg4NzE2OTg3MA][] 缺点和局限性: 这种方式虽然能解决跨域问题,但是安全性其实跟把信任存储到Cookie是差不多的,如果一旦加密算法泄漏了,攻击者可以再本地建立一个实现了登录接口的假冒父应用,通过绑定Host来把子应用发起的请求指向本地的假冒父应用,并作出回应,因为攻击者完全可以按照加密算法来伪造响应请求,子应用接收到这个响应之后一样可以通过验证,并且登录特定用户。 3.通过页面重定向的方式 通过父应用和子应用来回重定向中通信,实现信息的安全传递。 父应用提供一个GET方式的登录接口,用户通过子应用重定向连接的方式访问这个接口,如果用户还没登录,则返回一个登录页面,用户输入账号密码进行登录。如果用户已经登录了,则生成加密的Token,并且重定向到子应用提供的验证Token的接口,通过解密和校验之后,子应用登录当前用户。 ![aHR0cHM6Ly91cGxvYWQtaW1hZ2VzLmppYW5zaHUuaW8vdXBsb2FkX2ltYWdlcy81ODczMjczLTNkM2UwMzM2NTVlZTZmNTEuanBnP2ltYWdlTW9ncjIvYXV0by1vcmllbnQvc3RyaXAlN0NpbWFnZVZpZXcyLzIvdy8xMjQwJnlub3RlbWR0aW1lc3RhbXA9MTU2NDg4NzE2OTg3MA][] 这种方式较前面两种方式,接解决了上面两种方法暴露出来的安全性问题和跨域的问题,但是并没有前面两种方式方便。 安全与方便,本来就是一对矛盾。 [aHR0cHM6Ly91cGxvYWQtaW1hZ2VzLmppYW5zaHUuaW8vdXBsb2FkX2ltYWdlcy81ODczMjczLThiZWY2OWUwZjllM2Q3YmQuanBnP2ltYWdlTW9ncjIvYXV0by1vcmllbnQvc3RyaXAlN0NpbWFnZVZpZXcyLzIvdy8xMjQwJnlub3RlbWR0aW1lc3RhbXA9MTU2NDg4NzE2OTg3MA]: /images/20211109/d0e3603bba40464b920a0f6e29a47afe.png [aHR0cHM6Ly91cGxvYWQtaW1hZ2VzLmppYW5zaHUuaW8vdXBsb2FkX2ltYWdlcy81ODczMjczLTNlYTQ3Y2ZhZGVlN2NmMjUuanBnP2ltYWdlTW9ncjIvYXV0by1vcmllbnQvc3RyaXAlN0NpbWFnZVZpZXcyLzIvdy8xMjQwJnlub3RlbWR0aW1lc3RhbXA9MTU2NDg4NzE2OTg3MA]: /images/20211109/05dc2d2f39114f43868f5ed32466901b.png [aHR0cHM6Ly91cGxvYWQtaW1hZ2VzLmppYW5zaHUuaW8vdXBsb2FkX2ltYWdlcy81ODczMjczLTNkM2UwMzM2NTVlZTZmNTEuanBnP2ltYWdlTW9ncjIvYXV0by1vcmllbnQvc3RyaXAlN0NpbWFnZVZpZXcyLzIvdy8xMjQwJnlub3RlbWR0aW1lc3RhbXA9MTU2NDg4NzE2OTg3MA]: /images/20211109/ff293fde1ab2473f9b3a67c7371a4f45.png
相关 单点登录 Shiro 1.2 开始提供了 Jasig CAS 单点登录的支持,单点登录主要用于多系统集成,即在多个 系统中,用户只需要到一个中央服务器登录一次即可访问 比眉伴天荒/ 2023年07月08日 14:25/ 0 赞/ 9 阅读
相关 单点登录 官网 https://apereo.github.io/cas/4.2.x/planning/Architecture.html demo http://www.i 我不是女神ヾ/ 2022年11月03日 10:45/ 0 赞/ 220 阅读
相关 单点登录 业务需要,正在研究. 基本有以下三种方案 1.集中管理Session. 实现很简单,但缺点是 每次页面刷新都需要访问一次或两次 Session管理服务器, 水深无声/ 2022年09月19日 10:55/ 0 赞/ 226 阅读
相关 单点登录 1:什么事单点登录: SSO英文全称Single Sign On,单点登录。SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。它包括可以将这次主 男娘i/ 2022年07月13日 14:29/ 0 赞/ 216 阅读
相关 单点登录 一、单系统登录机制 1、http无状态协议 web应用采用browser/server架构,http作为通信协议。http是无状态协议,浏览器的每一次请求,服务 港控/mmm°/ 2022年06月11日 00:55/ 0 赞/ 230 阅读
相关 单点登录 项目分为三个模块 server client2 client1 server提供的接口 /user /tol 深藏阁楼爱情的钟/ 2022年05月24日 04:26/ 0 赞/ 263 阅读
相关 单点登录 1.3 CAS服务端部署 Cas服务端其实就是一个war包。 在资源\\cas\\source\\cas-server-4.0.0-release\\cas-serve 梦里梦外;/ 2022年05月16日 08:04/ 0 赞/ 285 阅读
相关 单点登录 初识单点登录 最初接触到单点登录要追溯到3年多以前了,那时候看到的只是passport,当时要做全国所有社区的登录,然后就照着内部文档写了代码,然后就接入了(这里要提一句 谁借莪1个温暖的怀抱¢/ 2022年05月13日 14:04/ 0 赞/ 265 阅读
相关 单点登录 以Cookie作为凭证媒介 最简单的单点登录实现方式,是使用cookie作为媒介,存放用户凭证。 用户登录父应用之后,应用返回一个加密的cookie,当用户访问子应用 £神魔★判官ぃ/ 2022年04月23日 13:18/ 0 赞/ 299 阅读
相关 单点登录 什么是单点登录? 单点登录(Single Sign On)说的简单点就是在一个多系统共存的环境下,用户在一处登录后,就不用在其它系统中登录。也就是用户的一次登录能得到其它所有 布满荆棘的人生/ 2021年11月11日 04:10/ 0 赞/ 442 阅读
还没有评论,来说两句吧...