前端需要了解的 SSO 与 CAS 知识

  • 时间:
  • 浏览:1
  • 来源:彩神大发幸运飞艇_神彩大发幸运飞艇官方

也不 他想学习前端,都可以 来这人Q群,首先是291,顶端是851,最后是189,顶端都可以 学习和交流,就有资料都可以 下载。

CAS 

SSO 仅仅是五种架构,五种设计,而 CAS 则是实现 SSO 的五种手段。两者是抽象与具体的关系。当然,除了 CAS 之外,实现 SSO 还有一点手段,比如简单的 cookie。CAS (Central Authentication Service)中心授权服务,五种是另兩个开源协议,分为 1.0 版本和 2.0 版本。1.0 称为基础模式,2.0称为代理模式,适用于所处非 Web 应用之间的单点登录。 

同域 SSO如图,同域 SSO 是最简单的五种状态。此时,另兩个产品就有在另兩个域名下,单点登录是很自然的选者。亲们来捋一捋步骤,搞清楚这里的步骤是理解后文的基础,千万并不跳过。 

用户访问产品 a,向 后台服务器发送登录请求。 

登录认证成功,服务器把用户的登录信息写入 session。 

服务器为该用户生成另兩个 cookie,并加入到 response header 中,随着请求返回而写入浏览器。 

该 cookie 的域设定为 dxy.cn。 

下一次,当用户访问同域名的产品 b 时,也不 a 和 b 在同一域名下,也是 dxy.cn,浏览器会自动带上事先的 cookie。此时后台服务器就都可以 通过该 cookie 来验证登录状态了。 

实际上,这人场景也不最简单最传统的登录操作。嘴笨 亲们把产品 a 和 b 人为分开了,但也不 它们在同域上,就算看成是同一产品的不相似目也未尝不可。亲们这么 设置独立的 SSO 服务器,也不 业务后台服务器五种就足以承担 SSO 的职能。 

同父域 SSO 

同父域 SSO 是同域 SSO 的简单升级,唯一的不同在于,服务器在返回 cookie 的事先,要把cookie 的 domain 设置为其父域。比如另兩个产品的地址分别为 a.dxy.cn 和 b.dxy.cn,这么 cookie 的域设置为 dxy.cn 即可。在访问 a 和 b 时,这人 cookie 都能发送到服务器,本质上和同域 SSO 这么 区别。 

.跨域 SSO 

都可以 想看 ,在顶端五种状态下,亲们都这么 专门设置 SSO 服务器。也不 当另兩个产品不同域时,cookie 无法共享,也不亲们不能 设置独立的 SSO 服务器了。这人事先,亲们也不通过标准的 CAS 方案来实现 SSO 的。 

详解CAS

Client:用户。 

Server:中心服务器,也是 SSO 中负责单点登录的服务器。 

Service:不能 使用单点登录的各个服务,大概上文中的产品 a/b。 

/login:登录接口,用于登录到中心服务器。 

/logout:登出接口,用于从中心服务器登出。 

/validate:用于验证用户否是 登录中心服务器。 

/serviceValidate:用于让各个 service 验证用户否是 登录中心服务器。 

cookie及session 

浏览器同源策略及跨域 

了解登录系统的构成 

那此是 SSO 与 CAS?

不管是那此公司,也不产品数量大于另兩个,这么 单点登录势必是绕不过去的另兩个问题。作为前端程序运行运行员,亲们对其嘴笨 接触这么 多 ,但适当的了解还是必要的。本文就来谈谈单点登录相关的问题。 

前置知识 

了解 SSO,最好具备以下知识。当然,也不 就有有点儿熟,也不影响阅读。

SSO 是英文 Single Sign On 的缩写,翻译过来也不单点登录。顾名思义,它把另兩个及以上个产品中的用户登录逻辑抽离出来,达到只输入一次用户名密码,就能共同登录多个产品的效果。 

使用 SSO 的优点很明显: 

提升用户体验。就以我厂为例。我厂另兩个产品,丁香人才网和丁香园论坛,也不你是我厂用户,肯定无法忍受登录丁香园论坛的事先输入一次用户名密码,登录人才网又要输入一次用户名密码吧? 

外理重复开发。也不你是我厂后端,每天任务都饱和的不行,肯定无法忍受到人才网开发一套登录逻辑,到论坛又开发一套登录逻辑吧? 

提升安全系数 

也不你是我厂运维,发现了另兩个安全隐患不能 紧急修复。你肯定无法忍受给茫茫多的产品后端都发一封邮件,责令修复吧?万一漏了另兩个呢? 

CAS 1.0 协议定义了一组术语,一组票据,一组接口。 

术语:

SSO