单点登录系统8大原理机制详解

01cc792f26c7b3261ab5ee12c8d36c41.jpeg

 

单点登录系统详解(8大原理机制图解)


单点登录

单点登录(SSO)实现一处登录,全平台畅通。用户只需登录一次,即可无缝访问多个互信的应用系统,高效便捷,省时省心。

2e7ac8195fb4d86b4a56e74637a543e8.jpeg

举例来说,阿里旗下拥有多款热门应用,如淘宝、天猫、聚划算等,为用户提供丰富的购物选择与便捷的购物体验。

7bbdb2663052d4d686e9206d24c28dbe.jpeg

这就是单点登录的“价值”,不仅,提高用户的使用便捷性,同时,也减少管理的负担。

单点登录实现原理

上面简要的谈了“单点登录”的价值,也知道了对于大型网站,单点登录的“重要性”。

下面,我们接着谈,如果是你,你应该怎么来实现“单点登录”呢?

单点登录的实现,一般会包含如下组件:

c12799cc0098652605844a6b5e637a06.jpeg

CAS Server(CAS 服务器)

首先,是用户的身份验证。

然后,生成和管理各种票据。

比如:用户通过CAS服务器登录后,CAS服务器生成一个Ticket作为认证凭证。

以及,单点登出。

精准管理用户单点登出,实现全平台同步退出,确保会话一致。一处登出,处处失效,为用户提供更安全、便捷的账号管理体验。

CAS Client(CAS 客户端)

CAS客户端是应用系统的一部分,负责与CAS服务器进行交互。

其主要作用包括:

  • 检查用户的登录状态,未登录时重定向到CAS服务器;
  • 接收并存储从CAS服务器返回的票据(ST);
  • 向CAS服务器验证ST,确认用户身份。

Ticket(票据)

票据在CAS体系中用于传递和验证用户身份信息,是CAS协议中的关键元素。

核心票据类型涵盖TGT(票据授权票据)与ST(服务票据),满足不同身份验证和访问需求,确保安全高效的服务体验。

  • TGT,即长期票据,用户登录成功后,由CAS服务器创建并存储于会话中,为用户提供持续的身份验证和访问权限。
  • ST是短期票据,专为单次服务访问而设,由CAS服务器生成,一次验证后即失效,确保用户访问的安全性和唯一性。

CAS Server、CAS Client与Ticket协同,实现单点登录,让用户轻松访问多个应用,简化操作流程,提升使用体验。


单点登录工作流程

工作流程,大致分为如下步骤:

80d6514b2e135d91805efe2b4ccb9015.jpeg

  1. 首先,用户访问应用A(CAS Client);
  2. 如果,应用A检测到用户未登录,将用户重定向到(CAS Server);
  3. 然后,用户携带ST访问应用A,应用A向CAS Server验证ST;
  4. 然后,CAS Server验证成功后,应用A允许用户访问受保护资源;
  5. 接着,当用户尝试访问应用B时,系统将自动将其重定向至CAS Server进行身份验证。简洁、高效的安全流程,保障用户数据安全。
  6. 最后,用户携带ST访问应用B,应用B验证ST后允许用户访问。

总之,单点登录是一种提升用户体验、和系统安全性的有效方式。

用户只需登录一次,即可访问多个应用系统,减少了重复登录的烦恼。

而且,还可以集中管理用户认证信息,便于统一安全策略的实施,还降低了维护成本。


-对此,您有什么看法见解?-

-欢迎在评论区留言探讨和分享。-

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/36163.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java面试题:解释常见的HTTP状态码及其含义

HTTP状态码是由服务器返回给客户端的三位数字,用于表示HTTP请求的结果状态。以下是一些常见的HTTP状态码及其含义: 1xx: 信息响应 102 Processing (WebDAV):表示服务器已收到并正在处理请求,但尚未有响应可用。 2xx: 成功 203…

Jackson序列化时实现任意类型自定义转换

自定义Jackson2序列化反序列化,参考: Jackson序列化时实现任意类型自定义转换_jackson 自定义转换-CSDN博客

Spring Boot中的会话管理

Spring Boot中的会话管理 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!今天我们来聊聊Spring Boot中的会话管理。会话管理是Web应用中非常重要的一部分&#…

策略模式(Strategy Pattern)

策略模式 (Strategy Pattern) 定义 它是将定义的算法家族、分别封装起来,让它们之间可以相互替换,从而让算法的变化不会影响到使用算法的用户。 可以避免多重分支的 if-else、switch语句。 属于行为型模式。 适用场景 如果系…

现货黄金如何操作:黄金技术性止损的运用

止损是现货黄金如何操作中不得不提及的方法。在现货黄金投资过程中,风险是存在的,重要的是如何将风险把控好。这里的一个重要概念就是,要对每一笔交易设定好止损,可以讲,这就是现货黄金如何操作的方法中最重要的一种。…

如何降低MCU系统功耗?

大家在做MCU系统开发的时候,是否也碰到过降低MCU系统功耗的需求? MCU系统整板功耗是个综合的数据,包括MCU功耗以及外部器件功耗,在此我们主要介绍如何降低MCU的功耗: 可以在满足应用的前提下,降低MCU的运…

单片机里面中断状态寄存器是什么

中断状态寄存器是存在于许多微控制器和硬件设备中的一个特殊类型的寄存器,用于指示发生了哪些中断事件。当中断发生时,相应的中断状态寄存器中的一个或多个位会被硬件设置为1。软件可以通过读取这个寄存器来确定哪些中断需要处理,并通过写回特…

top和ps的cpu区别

CPU使用率计算方式: top 命令计算的是在固定时间间隔内,每个进程占用CPU的时间百分比,因此它能反映进程的实时CPU使用情况。top 中的CPU使用率之和可能超过100%,因为在多核系统中,每个核心的使用率可以单独计算&#…

合约期VS优惠期,搞明白他们的区别才能避免很多坑!

在购买流量卡时,相信大家也都发现了,市面上的不少套餐都是有合约期和优惠期的,尤其是联通和移动,那么,什么是合约期?什么又是优惠期呢? ​ 其实,目前很多在网上办理的大流量卡都是有…

PHP的最新版本是什么?它引入了哪些新特性?

PHP(全称:PHP:Hypertext Preprocessor,即"PHP:超文本预处理器")是一种通用开源脚本语言,主要用于服务器端编程。它在服务器上执行,能够生成动态页面内容、处理表单数据、发…

网络安全入门必选:十款免费的抓包工具有哪些?

下面给大家推荐几款好用的免费的抓包工具软件,有需要的小伙伴们来了解一下。 1. Wireshark抓包分析工具 4.0.1 Wireshark是一款功能强大的网络协议分析器,可以实时检测和抓取网络通讯数据。它支持多种协议和媒体类型,并具备丰富的显示过滤…

前端写代码真的有必要封装太好么?

前言 封装、代码复用、设计模式…… 这些都是方法,业务才是目的。技术始终是为业务服务的。能够满足业务需求,并且用起来舒服的,都是好方法。 不存在一套适用于所有项目的最佳代码组织方法,你需要结合业务,去不断地…

计算机视觉与人工智能领域常用期刊和会议缩写

在撰写论文时有时候会面临超篇幅的情况,这时候一个常用的操作便是使用期刊(会议)的缩写或者半缩写来替换期刊(会议)全称 为了方便自己后续使用相关的缩写 特此整理 如有不当之处 欢迎大家指正~~ 计算机视觉与人工智能…

Web应用安全测试-专项漏洞(一)

Web应用安全测试-专项漏洞(一) 专项漏洞部分注重测试方法论,每个专项仅列举一个例子。实际测试过程中,需视情况而定。 文章目录 Web应用安全测试-专项漏洞(一)Web组件(SSL/WebDAV)漏…

vue3爷孙组件通信——provide和inject

父组件中提供数据&#xff0c;并在子组件中注入这些数据&#xff0c;从而实现了组件之间的数据传递。可用于兄弟组件通信&#xff0c;爷孙组件通信&#xff0c;父子通信。 provide( ‘注入名’, 注入值" ) 和 inject(‘注入名’) 第一代组件&#xff1a; <template>…

2024十大首码地推拉新app平台,一手首码对接平台!

到了2024年&#xff0c;地推新应用的接单平台成为创业者们关注的焦点。对于地推行业的从业人员而言&#xff0c;选择一家拥有一手单资源的平台至关重要&#xff0c;因为这直接关系到他们的利益。 2024年如果想要进行app地推活动&#xff0c;却没有人脉渠道的困扰&#xff0c;建…

Jmeter+InfluxDB+Grafana性能测试数据展示

JmeterInfluxDBGrafana提供了一种更好的对Jmeter压测结果的实时监控展示。可以理解为数据源产生的数据加上时间记录并存储&#xff0c;然后使用各种开源图表组件进行展示。实现jmeter报告的更好的可视化展示 1&#xff09;方便测试结果数据落地以及更好的分析 2&#xff09;将…

vue引入并使用物理引擎matter.js

1.效果 vue引入并使用物理引擎matter.js 2.什么是matter.js? Matter.js 是一个开源的2D物理引擎&#xff0c;专为Web浏览器设计&#xff0c;使用JavaScript编写。它允许开发者在网页上创建包含物理交互的动态图形和游戏。Matter.js 提供了一系列强大的功能&#xff0c;使得模拟…

flag-gems的装饰器point-wise分析

一 函数入口 def pointwise_dynamic(f: Optional[JITFunction] = None,*,num_inputs: Optional[int] = None,is_tensor: Optional[List[bool]] = None,dtypes: Optional[List[Optional[type]]] = None,num_outputs: Optional[int] = None,output_dtypes: Optional[List[type]]…

vue3 +elementPlus上传照片墙

获取到照片字符串然后push到fileList对应的URL中 if (formData.value.pictures) {let zz formData.value.pictures.split(",")zz.forEach((item) > {fileList.value.push({ url: item })})}对应表单 <el-form-item label"内容详情图"><el-up…