单点登录SSO的含义

目录

SSO 概念

SSO 服务

SSO 令牌

SSO 流程

SSO 实现类型


SSO 概念

  • SSO英文全称Single Sign On,单点登录,是一种身份验证解决方案
  • 是一种对于许多相互关连,但是又是各自独立的软件系统,提供访问控制的属性
  • SSO是指在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统
  • 一旦验证身份,用户就可以访问所有受密码保护的资源,而无需重复登录
  • SSO 解决方案中的重要组件如下所示:

SSO 服务

  • SSO 服务是用户登录时应用程序依赖的中心服务
  • 如果未经身份验证的用户请求访问应用程序,应用程序会将他们重定向到 SSO 服务
  • 然后,该服务对用户进行身份验证并将用户重定向回原始应用程序
  • 该服务通常在专用的 SSO 策略服务器上运行

SSO 令牌

  • SSO 令牌是包含用户识别信息的数字文件,例如用户名或电子邮件地址
  • 当用户请求访问应用程序时,应用程序会与 SSO 服务交换 SSO 令牌以对用户进行身份验证

SSO 流程

  • 1-当用户登录应用程序时,应用程序会生成 SSO 令牌并向 SSO 服务发送身份验证请求
  • 2-该服务会检查用户之前是否在系统中进行了身份验证;如果是,它会向应用程序发送一个身份验证确认响应,以授予用户访问权限
  • 3-如果用户没有经过验证的凭证,SSO 服务会将用户重定向到中央登录系统并提示用户提交其用户名和密码
  • 4-提交后,服务会验证用户凭证并将肯定响应发送到应用程序
  • 5-否则,用户会收到错误消息并且必须重新输入凭证;多次尝试登录失败可能会导致服务阻止用户在固定的时间段内进行更多尝试

SSO 实现类型

  • SSO 解决方案使用不同的标准和协议来对用户凭证进行验证和身份验证
  • 1-SAML
  • SAML(或安全断言标记语言)是应用程序用来与 SSO 服务交换身份验证信息的协议或规则集
  • SAML 使用 XML(一种浏览器友好的标记语言)来交换用户标识数据
  • 基于 SAML 的 SSO 服务提供更好的安全性和灵活性,因为应用程序不需要在其系统上存储用户凭证
  • 2-OAuth
  • OAuth(或开放授权)是一种开放标准,它允许应用程序安全地从其他网站获取用户信息,而无需提供密码
  • 应用程序不是请求用户密码,而是使用 OAuth 来获得用户访问受密码保护的数据的权限
  • OAuth 通过 API 建立应用程序之间的信任,允许应用程序在已建立的框架中发送和响应身份验证请求
  • 3-OIDC
  • OpenID 是使用一组用户凭证访问多个站点的方法
  • 它允许服务提供商承担验证用户凭证的角色
  • Web 应用程序不是将身份验证令牌传递给第三方身份提供商,而是使用 OIDC 来请求附加信息并验证用户的真实性
  • 4-Kerberos
  • Kerberos 是一种基于票证的身份验证系统,可让两方或多方在网络上相互验证其身份
  • 它使用安全密码学来防止未经授权访问在服务器、客户端和密钥分发中心之间传输的标识信息

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

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

相关文章

算法 | 刷题日记

1.递归通常是用栈来实现的 递归在其本质上是通过函数调用栈(Call Stack)来实现的,而不是队列(Queue)。当你调用一个函数时,该函数的局部变量、参数和返回地址会被压入(push)到一个由…

python的副本拷贝

a [1, 2, 3] b a b[0] 0 print(b) # 输出结果:[0, 2, 3] print(a) # 输出结果:[0, 2, 3]这并不我想要的结果,我只希望拷贝一个a的副本b,当我改变b时不希望a变化。 究其原因,在 Python 中,将一个列表赋…

将列表a中的所有元素都添加在列表b的最前面

将列表a中的所有元素都添加在列表b的最前面 方法1:使用切片赋值方法2:使用 extend 方法方法3:使用 insert 方法推荐方法 要将列表 a 中的所有元素都添加到列表 b 的最前面,可以使用以下几种方法: 使用切片赋值使用 e…

JAVAEE之网络初识_协议、TCP/IP网络模型、封装、分用

前言 在这一节我们简单介绍一下网络的发展 一、通信网络基础 网络互连的目的是进行网络通信,也即是网络数据传输,更具体一点,是网络主机中的不同进程间,基于网络传输数据。那么,在组建的网络中,如何判断到…

迪丽热巴与大姐的璀璨友情

迪丽热巴与“大姐”的璀璨友情:星光熠熠,友谊长存在娱乐圈的繁华舞台上,有两位耀眼的女星,她们如同夜空中亮的两颗星,交相辉映,共同谱写着一段段动人的佳话。她们,一个是被亲切称为“迪迪”的迪…

HarmonyOS-9(stage模式)

配置文件 {"module": {"requestPermissions": [ //权限{"name": "ohos.permission.EXECUTE_INSIGHT_INTENT"}],"name": "entry", //模块的名称"type": "entry", //模块类型 :ability类型和…

AWR设置工程仿真频率、原理图仿真频率、默认单位

AWR设置工程仿真频率、原理图仿真频率、默认单位 生活不易,喵喵叹气。马上就要上班了,公司的ADS的版权紧缺,主要用的软件都是NI 的AWR,只能趁着现在没事做先学习一下子了,希望不要裁我。 最近稍微学习了一下AWR这个软…

标准输入与输出与格式控制符

标准输入与输出 标准输入与输出与格式控制符的故事 文章目录 标准输入与输出一、 printf标准输出(格式化输出)1.1、printf()函数1.2、格式控制符1.2.1 -对齐方式举例1.2.2 m.n:指定域宽和精度 1.3、常见的格式控制符示例 二、标准输入2.1 函数…

重构与优化-对象间特性搬移重构(2)

在软件开发过程中,重构是改进代码结构和设计、不改变其外在行为的过程。对象之间的特性搬移(Moving Features Between Objects)是重构的一种重要类型,它涉及到将属性、方法或其他特性从一个对象转移到另一个对象,以优化代码结构、提高可维护性和遵循设计原则。以下是几种典…

UMG绝对坐标与局部空间

在 Unreal Engine 的 UMG(Unreal Motion Graphics)中,“绝对坐标”和“局部空间”是两个常见的概念,主要用于描述 UI 元素的位置和大小。 概念与区别 绝对坐标(Absolute Coordinates):这是指相…

list~模拟实现

目录 list的介绍及使用 list的底层结构 节点类的实现 list的实现 构造函数 拷贝构造 方法一:方法二: 析构函数 赋值重载 insert / erase push_/pop_(尾插/尾删/头插/头删) begin和end(在已建立迭代器的基础上) 迭代…

kafka命令--简单粗暴有效

zookeeper bin目录下执行 启动:./zkServer.sh start 停止:./zkServer.sh stop 重启:./zkServer.sh restart 状态:./zkServer.sh status kafka bin目录下执行 启动:./kafka-server-start.sh -daemon …/config/server.…

直播预告|手把手教你玩转 Milvus Lite !

Milvus Lite(https://milvus.io/docs/milvus_lite.md)是一个轻量级向量数据库,支持本地运行,可用于搭建 Python 应用,由 Zilliz 基于全球最受欢迎的开源向量数据库 Milvus(https://milvus.io/intro&#xf…

使用python优雅的将PDF转为Word

使用python优雅的将PDF转为Word 先装这个优雅的库 pip install pdf2docx然后运行下面优雅的代码,将pdf路径和docx路径修改 from pdf2docx import Converter # path pdf_file C:\\Users\\phl\\Desktop\\软件工程期末\\软件工程模拟试题5.pdf docx_file C:\\User…

【iOS】UI学习——导航控制器、分栏控制器

UI学习(三) 导航控制器导航控制器基础导航控制器切换导航栏和工具栏 分栏控制器分栏控制器基础分栏控制器高级 导航控制器 导航控制器负责控制导航栏(navigationBar),导航栏上的按钮叫UINavigationItem(导航…

【STL源码剖析】deque 的使用

别院深深夏席清,石榴开遍透帘明。 树阴满地日当午,梦觉流莺时一声。 目录 deque 的结构 deque 的迭代器剖析 deque 的使用 ​编辑 deque 的初始化 deque 的容量操作 deque 的访问操作 在 pos 位置插入另一个向量的 [forst,last] 间的数据​编…

24.面向对象六大原则

目录介绍 00.面向对象六大原则01.代码单一职责原则02.代码开放封闭原则03.代码里氏替换原则04.代码依赖倒置原则05.代码接口隔离原则06.代码迪米特原则00.面向对象六大原则 六大原则一句话介绍 单一职责原则:指一个类的功能要单一,不能包罗万象。开放封闭原则:指一个模块在扩…

【人工智能Ⅱ】实验9:强化学习Q-Learning算法

实验9:强化学习Q-Learning算法 一:实验目的 1:了解强化学习的基本概念。 2:学习强化学习经典算法——Q-Learing算法。 3:通过Q-Learing算法解决问题。 二:实验内容 2.1 强化学习 强化学习(…

图形化按钮的实现思路

一、目的 实现一个图形化按钮。 二、条件 1、获取操作系统的画图接口,一般是C语言库。 2、获取操作系统监听鼠标和键盘的事件库。一般是C语言库。 三、思路 (一)调用画图接口绘制按钮 1、绘制背景,可以是图片,或者矩形。 2、绘制文字。 3、绘…

云原生和“可移植性”到底意味着什么

虽然上云,拥抱云计算已经成为当今几乎所有企业的必走之路,但对于“在云原生环境中进行开发”和“依赖某些云供应商提供的,以平台为中心的工具”这两种做法,它们之间依然存在非常清晰的界限。所以你是否好奇,采用云原生…