单点登录与权限管理本质:单点登录介绍 谁借莪1个温暖的怀抱¢ 2022-05-30 02:22 172阅读 0赞 继续介绍「单点登录与权限管理」系列的第一部分:单点登录与权限管理本质,前两篇介绍了[session与cookie][session_cookie] 和 [HTTP重定向][HTTP] ,有了他们,浏览器就可以在多个系统间自动交互,实现自动登录。 该系列的完整写作计划,可见:[系列概述][Link 1] 本篇介绍下单点登录,所谓单点登录,就是说用户只需在一个地方登录,访问其他相关系统时,不需要重复登录,隐式地自动登录,这样体验会比较好。 主要从以下几个方面介绍: * 一个常见的交互流程 * 常见单点登录协议 * 关键问题总结 #### 一个常见的交互流程 #### 我们项目中,使用CAS协议实现单点登录,下面就以项目中的实现为例,先来看下其交互流程,对其实现有个基本的了解。 有2个系统,系统A是「客服工作台」,主要给客服使用,可实时与来访用户及时聊天,解答用户的问题。系统B是「工单系统」,对于不能解答的问题,客服会创建一个工单,更高级别或相关度高的人会看到工单进行处理。 客服希望在登录系统A后,不需要手动登录系统B,需要一个「单点登录服务」,提供一个统一的登录验证,协调系统A、系统B的自动登录,定义该服务为服务S,其CAS协议的场景的流程如下: ![CAS协议交互图][CAS] 花了不少时间画上面的图,看着比较复杂,其实还好,希望大家花时间看下,如果前两篇文章真正理解了,这块就相对简单了。 重点总结下该流程: * 黑圆圈红字,标识cookie的生成和使用,ABCDE表示5个cookie,1表示生成,2表示使用; * 无论是系统A,还是系统B,如果没有jessionid cookie,都会跳转到服务S,如果携带了cookie1(登录成功后生成的cookie),不需要登录,会自动登录,如果没有携带cookie1,会跳转到登录页面,登录成功后会设置cookie1。 * cookie1是保持浏览器和服务S的,表示用户已经登录过了; * cookie2、cookie4都是临时cookie,主要是将服务码带到系统A或系统B,拿到服务码后,通过后端请求服务S进行验证,验证过后,临时cookie就失效了,主要是为了安全考虑。 * cookie3、cookie5和我们正常登录产生的jessionid一样,是各个子系统独有的cookie; 如果还有疑问,可在下面留言,我会第一时间回复。 #### 常见单点登录协议 #### 上面介绍的是CAS协议的一种,还有其他协议可实现单点登录,比如CAS官网列举的协议: ![常见单点登录协议][1] 这些协议有不同的适用场景,比如好多网站都支持使用QQ、微信、微博直接登录,只要你的QQ、微信、微博登录者,就不用重复登录,使用OAuth协议可比较好的实现这种场景。 后面会单独介绍这些协议。 #### 关键问题总结 #### 无论是哪一种协议,都需要一个中间系统,对验证和授权进行统一管理。另外,cookie的管理和安全问题需要重点考虑。 后面一篇会介绍下可能存在哪些安全问题,而对于安全问题如何解决,cookie和session具体如何管理,会在介绍每个具体协议的时候重点说明。 **系列索引:** 1. [session和cookie介绍][session_cookie] 2. [HTTP重定向][HTTP] 3. [单点登录介绍][Link 2] ![情情说][1 1] 作者:情情说 链接:https://juejin.im/post/5a982eb8f265da239f06cba3 来源:掘金 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 [session_cookie]: https://link.juejin.im?target=https%3A%2F%2Fjuejin.im%2Fpost%2F5a958d8ff265da4e7b44d797 [HTTP]: https://link.juejin.im?target=https%3A%2F%2Fjuejin.im%2Fpost%2F5a96cbc85188257a6426d048 [Link 1]: https://link.juejin.im?target=https%3A%2F%2Fjuejin.im%2Fpost%2F5a9183256fb9a0634214bd4d [CAS]: https://user-gold-cdn.xitu.io/2018/3/2/161e2761ff41b501?imageView2/0/w/1280/h/960/format/webp/ignore-error/1 [1]: https://user-gold-cdn.xitu.io/2018/3/2/161e2761ff3186c8?imageView2/0/w/1280/h/960/format/webp/ignore-error/1 [Link 2]: https://link.juejin.im?target=https%3A%2F%2Fjuejin.im%2Fpost%2F5a982eb8f265da239f06cba3 [1 1]: https://user-gold-cdn.xitu.io/2018/2/28/161d831cf7c2d09a?imageView2/0/w/1280/h/960/format/webp/ignore-error/1
相关 单点登录 官网 https://apereo.github.io/cas/4.2.x/planning/Architecture.html demo http://www.i 我不是女神ヾ/ 2022年11月03日 10:45/ 0 赞/ 225 阅读
相关 单点登录 业务需要,正在研究. 基本有以下三种方案 1.集中管理Session. 实现很简单,但缺点是 每次页面刷新都需要访问一次或两次 Session管理服务器, 水深无声/ 2022年09月19日 10:55/ 0 赞/ 228 阅读
相关 单点登录介绍 一、单系统登录机制 http无状态协议 web应用采用browser/server架构,http作为通信协议。http是无状态协议,浏览器的每一次请 谁践踏了优雅/ 2022年09月16日 11:12/ 0 赞/ 189 阅读
相关 单点登录 1:什么事单点登录: SSO英文全称Single Sign On,单点登录。SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。它包括可以将这次主 男娘i/ 2022年07月13日 14:29/ 0 赞/ 218 阅读
相关 单点登录 一、单系统登录机制 1、http无状态协议 web应用采用browser/server架构,http作为通信协议。http是无状态协议,浏览器的每一次请求,服务 港控/mmm°/ 2022年06月11日 00:55/ 0 赞/ 233 阅读
相关 单点登录与权限管理本质:单点登录介绍 继续介绍「单点登录与权限管理」系列的第一部分:单点登录与权限管理本质,前两篇介绍了[session与cookie][session_cookie] 和 [HTTP重定向][HT 谁借莪1个温暖的怀抱¢/ 2022年05月30日 02:22/ 0 赞/ 173 阅读
相关 单点登录 1.3 CAS服务端部署 Cas服务端其实就是一个war包。 在资源\\cas\\source\\cas-server-4.0.0-release\\cas-serve 梦里梦外;/ 2022年05月16日 08:04/ 0 赞/ 287 阅读
相关 单点登录 初识单点登录 最初接触到单点登录要追溯到3年多以前了,那时候看到的只是passport,当时要做全国所有社区的登录,然后就照着内部文档写了代码,然后就接入了(这里要提一句 谁借莪1个温暖的怀抱¢/ 2022年05月13日 14:04/ 0 赞/ 266 阅读
相关 单点登录 以Cookie作为凭证媒介 最简单的单点登录实现方式,是使用cookie作为媒介,存放用户凭证。 用户登录父应用之后,应用返回一个加密的cookie,当用户访问子应用 £神魔★判官ぃ/ 2022年04月23日 13:18/ 0 赞/ 300 阅读
相关 单点登录 什么是单点登录? 单点登录(Single Sign On)说的简单点就是在一个多系统共存的环境下,用户在一处登录后,就不用在其它系统中登录。也就是用户的一次登录能得到其它所有 布满荆棘的人生/ 2021年11月11日 04:10/ 0 赞/ 445 阅读
还没有评论,来说两句吧...