继续介绍「单点登录与权限管理」系列的第一部分:单点登录与权限管理本质,前两篇介绍了session与cookie 和 HTTP重定向 ,有了他们,浏览器就可以在多个系统间自动交互,实现自动登录。
该系列的完整写作计划,可见:系列概述
本篇介绍下单点登录,所谓单点登录,就是说用户只需在一个地方登录,访问其他相关系统时,不需要重复登录,隐式地自动登录,这样体验会比较好。
主要从以下几个方面介绍:
- 一个常见的交互流程
- 常见单点登录协议
- 关键问题总结
一个常见的交互流程
我们项目中,使用CAS协议实现单点登录,下面就以项目中的实现为例,先来看下其交互流程,对其实现有个基本的了解。
有2个系统,系统A是「客服工作台」,主要给客服使用,可实时与来访用户及时聊天,解答用户的问题。系统B是「工单系统」,对于不能解答的问题,客服会创建一个工单,更高级别或相关度高的人会看到工单进行处理。
客服希望在登录系统A后,不需要手动登录系统B,需要一个「单点登录服务」,提供一个统一的登录验证,协调系统A、系统B的自动登录,定义该服务为服务S,其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官网列举的协议:
这些协议有不同的适用场景,比如好多网站都支持使用QQ、微信、微博直接登录,只要你的QQ、微信、微博登录者,就不用重复登录,使用OAuth协议可比较好的实现这种场景。
后面会单独介绍这些协议。
关键问题总结
无论是哪一种协议,都需要一个中间系统,对验证和授权进行统一管理。另外,cookie的管理和安全问题需要重点考虑。
后面一篇会介绍下可能存在哪些安全问题,而对于安全问题如何解决,cookie和session具体如何管理,会在介绍每个具体协议的时候重点说明。
相关推荐
#### 五、实现SSO(单点登录) SSO是一种让用户在多个应用系统之间无需重复登录的技术。实现SSO的关键在于构建统一的认证中心,具体步骤如下: 1. **统一的登陆服务**:建立一个独立的登陆服务,供多个业务系统共同...
在实际应用中,基于JSP的权限管理系统通常会涉及到以下知识点: 1. **JSP基础**:包括JSP语法、内置对象(如request、response、session、application等)、指令(如page、include、taglib)以及脚本元素...
【管理学概论】知识点详解: 1. 管理的职能:管理包括计划、组织、领导和控制四大职能,其中题目中提到的"管理的领导职能"实际上是指引导和激励员工,而非处理组织外的关系。 2. 集权与分权:组织规模、管理层次和...
项目是基于SpringBoot2的一整套后端管理平台,提供整套公共微服务服务模块:集中权限管理(单点登录)、内容管理、人事办公。旨在通过实战分享个人经验简洁高效,减少过渡封装,展现技术本质,以技术服务于业务。 ...
1. 管理的本质:管理是一项让他人与自己共同达成既定目标的任务,是所有有组织集体活动中不可或缺的元素。它要求管理者具备领导力和创造性,以高效地实现目标。 2. 管理的艺术性:管理不仅需要运用理论知识,还需要...
4. **单点登录**:提供单点登录服务,用户只需一次登录即可访问所有关联应用。 5. **浏览器兼容性**:平台需兼容多种浏览器,如IE8及以上版本,以及Firefox、Chrome等。 综上所述,这个项目的核心在于开发一个功能...
### Ubuntu基础知识介绍 #### Ubuntu概览 - **发音**:Ubuntu 的发音为 oo-BOON-too。 - **涵义**:Ubuntu 这个词源于非洲南部的科萨语,意指“人的本质”或“人性”,在开源社区中,它象征着共享与协作的精神。 - ...
根据给定文件的信息,我们可以提炼出以下几个重要的知识点: ### 1. 企业管理信息化的重要性 - **背景**: 随着信息技术的发展,企业管理逐渐从传统的手工管理模式转向信息化管理。 - **意义**: 引入网络和计算机...
- **登录与权限**:会员单点登录,全网通用。系统自动记录使用情况,按使用量计费,并通过银行接口处理支付。 4. **系统建设内容** - **基础平台建设**:依托e-works,建立ASP服务基础平台,确保品牌和用户基础...
### 知识点总结 #### 1. 信息的价值与质量属性 - **知识点概述**: - 信息的本质及其价值。 - 信息质量的关键属性:精确性、完整性、可靠性、及时性、经济性、可验证性和安全性。 - **详细解释**: - **信息的...
7. **用户认证与授权**:对于一个商品管理系统,可能需要对用户进行登录验证,并根据角色权限限制操作。这涉及会话管理、cookie使用以及权限检查等。 8. **响应式设计**:为了适应不同设备的屏幕尺寸,商品管理模块...
### 某广场项目物业管理投标文件知识点概览 #### 一、投标文件结构与内容概述 - **前言**:表达了投标方对于参与物业管理服务竞标的荣幸之情,并概述了其将以专业的管理理念和服务来满足项目需求,提升物业价值。 -...
【知识点详解】 1. **项目管理的分类**:根据题目描述,项目管理可按照参与...以上内容涵盖了项目管理的多个方面,包括管理分类、项目特性、生命周期管理、监理职责、项目组织结构、项目范围、质量管理等多个知识点。
《COM本质论》一书深入浅出地介绍了以下关键知识点: 1. **COM基础**:书中首先讲解了COM的基本概念,如组件、接口、实例化、引用计数等,这些都是理解COM的基础。COM组件通过全局唯一标识符(GUID)来唯一识别,...
12. 权力与职权:权力是组织中通过授权赋予个人的资源支配能力,职权则是通过正式的组织结构和程序获得的管理权限。 13. 管理幅度:管理幅度是指管理者能有效管理和指导的下属人数,直接影响管理效率和沟通效果。 ...
《C#企业人事工资管理系统详解》 在信息技术日益发展的今天,企业对人力资源管理的需求也日益精细化,...希望本文的介绍能为读者带来实质性的帮助,同时也鼓励大家深入学习C#和SQL,以应对更多复杂的企业级应用挑战。
根据给定文件的信息,我们可以提炼出以下几个重要的知识点: ### 1. 投标人资格证明文件 - **投标答应书**:明确了投标人的承诺和责任,包括但不限于遵守投标规则、提供服务的质量保证等内容。 - **法定代表人授权...
- **SideEffect与SequencePoint**:解释副作用与序列点的概念及其意义。 - **运算符总结**:总结C语言中的各种运算符及其优先级。 - **第17章:计算机体系结构基础** - **内存与地址**:介绍计算机内存的组成及...