什么是单点登录?

单点登录(Single Sign On,简称 SSO)简单来说就是用户只需在一处登录,不用在其他多系统环境下重复登录。用户的一次登录就能得到其他所有系统的信任。

为什么需要单点登录
单点登录在大型网站应用频繁,比如阿里旗下有淘宝、天猫等,用户的一次操作或交易就可能涉及到其他众多子系统的协作。使用单点登录就可以让用户登录一次,免去频繁登录授权的苦恼。

早期的单系统登录
用户在登录界面输入自己的用户名和密码之后,浏览器向服务器发送登录请求,服务器验证通过用户信息后放入 session,并将 sessionId 放入 Cookie,随后返回给浏览器。登录过后的请求都将在 Cookie 中携带 sessionId,服务器通过 sessionId 获取用户信息,最后返回响应信息。

单点登录的实现方式
如果一处登录的 session 能够共享,那么多个应用系统之间的登录状态也可以共享了。所以单点登录的关键在于,如何让 sessionId (或 Token)在多个域中共享。

同域下的单点登录
一个企业一般情况下只有一个域名,子系统使用二级域名。比如百度搜索是一级域名:https://www.baidu.com,贴吧使用的是二级域名https://tieba.baidu.com。如果我们要实现单点登录,可以将 Cookie 的域设置为顶域,即 https://www.baidu.com,这样其余的子域系统都可以访问顶域的 Cookie 了。

当然,上面做法缺点也很明显,它不支持跨域。这还不是真正的单点登录。

不同域下的单点登录
要实现不同域下的单点登录, 我们需要一个 SSO 认证中心来专门处理登录请求。所有的请求(登录、退出、获取用户信息、当前用户状态)都请求 SSO 系统,SSO 系统维护用户信息。流程如下:

image.png

首次登录时:

  • 用户登录某应用网站,浏览器将用户的登录重定向到 SSO 认证中心
  • SSO 进行检查和校验是否有现有的 SSO Cookie
  • 由于首次登录,并且用户浏览器不存在 SSO Cookie,因此请求用户使用 SSO 配置的连接登录。
  • 用户登录后,将设置 SSO Cookie,用户将被重定向到应用程序,并使用包含用户相关的身份信息的令牌(Token)

后续登录中:

  • 应用网站将用户重定向到 SSO 认证中心

  • SSO 认证中心 检查是否存在现有的 SSO Cookie

  • SSO 认证中心验证 SSO Cookie 是否有效

    • 无效,用户被重定向到应用网站的登录页面

    • 有效,用户将被重定向到应用程序,并带有包含用户相关身份信息的令牌(Token)。

    • 其实,SSO 认证中心相当于一个登录中介,它统一管理用户在多系统下的登录操作。

使用 SSO 的好处就是简化登录流程,用户友好且安全。
在多系统下的登录操作。

使用 SSO 的好处就是简化登录流程,用户友好且安全。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Unity发布webgl之后打开PDF文件,不使用js,不和浏览器交互

创建一个按钮,然后点击就会打开 在webgl下要使用这样的路径拼接,不然就会报错。 btnBook.onClick.AddListener(() >{var uri new System.Uri(Path.Combine(Application.streamingAssetsPath "/Books", "文档.pdf"));Debug.Log…

短视频矩阵系统---php7.40版本升级自研

短视频矩阵系统---php7.40版本升级自研 1.部署及搭建 相对于其他系统,该系统得开发及部署难度主要在各平台官方应用权限的申请上,据小编了解,目前抖音短视频平台部分权限内侧名额已满,巧妇难为无米之炊,在做相关程序…

Xilink 简单双口ram ip的读写仿真

简单双口RAM有两个端口Port A和port B,其中Port A用于写数据,Port B用于读数据,读写接口可以独立时钟工作。这一点和真双口RAM是有区别的,真双口RAM的A B两个Port都可以进行读写操作。 RAM是FPGA中重要的数据结构,可用于数据的缓存和跨时钟域信号处理。本文就xilin…

Java项目:71 ssm基于ssm+vue的外卖点餐系统+vue

作者主页:舒克日记 简介:Java领域优质创作者、Java项目、学习资料、技术互助 文中获取源码 项目介绍 系统功能 系统分为前台订餐和后台管理: 1.前台订餐 用户注册、用户登录、我的购物车、我的订单、商品列表 2.后台管理 商品管理&#xf…

基于OpenCV的图像处理案例之图像矫正(Python)

Index 目录索引 写在前面解决思路参考 写在前面 本文通过一个案例介绍如何使用OpenCV将倾斜的扫描文档图像进行水平矫正。 解决思路 因为扫描图像中的大部分文字倾斜后,同一行文字也在同一条直线,所以可以通过拟合直线来计算文本倾斜角度,…

《剑指 Offer》专项突破版 - 面试题 89 和 90 : 房屋偷盗和环形房屋偷盗(C++ 实现)

目录 面试题 89 : 房屋偷盗 面试题 90 : 环形房屋偷盗 面试题 89 : 房屋偷盗 题目: 输入一个数组表示某条街道上的一排房屋内财产的数目。如果这条街道上相邻的两幢房屋被盗就会自动触发报警系统。请计算小偷在这条街道上最多能偷取到多少财产。例如&#xff0c…

Kafka 3.x(上)

具体课程请看课程简介_哔哩哔哩_bilibili 概念 分布式流处理平台,它以高吞吐量和可扩展性而闻名。相同类型的消息存在于Topic主题中,主题类似于数据库中的表,不过主题存储的数据大多是半结构化的。主题可以包含多个分区(分布式的…

STM32之HAL开发——手动移植HAL库

HAL库移植步骤 创建目录 配置启动文件 在\Drivers\CMSIS\Device\ST\stm32f1xx\Source\Templates\ARM目录下,根据你的芯片型号选择对应的启动文件,不同容量大小的芯片,对应的启动文件也不一样。 注意:在HAL库中,不同容…

Git多分支管理实践

想要实现本地文件对远程文件的管理,必须懂得Git的相关操作。 工作中不免会遇到一个仓库多个分支的管理。 git多分支管理属于git的进阶版操作,下面我们来看看。 1. 拉取一个git仓库 git仓库名假设为:test_demo,默认是主仓库&…

企业如何利用数字工厂管理系统打造自动化产线

随着信息技术的飞速发展,数字化转型已成为企业提升生产效率、降低成本、优化管理的重要手段。数字工厂管理系统作为数字化转型的核心组成部分,其在打造自动化产线方面的作用日益凸显。本文将探讨企业如何利用数字工厂管理系统打造自动化产线,…

华为配置WLAN 802.1X认证实验

配置WLAN 802.1X认证示例 组网图形 图1 配置802.1X认证组网图 业务需求组网需求数据规划配置思路配置注意事项操作步骤 业务需求 用户接入WLAN网络,使用802.1X客户端进行认证,输入正确的用户名和密码后可以无线上网。且在覆盖区域内移动发生漫游时&…

【前端寻宝之路】学习和总结HTML表格的实现和合并

🌈个人主页: Aileen_0v0 🔥热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法|MySQL| ​💫个人格言:“没有罗马,那就自己创造罗马~” #mermaid-svg-IWDj0gWiFt6IMq3x {font-family:"trebuchet ms",verdana,arial,sans-serif;f…

软件杯 深度学习 机器视觉 人脸识别系统 - opencv python

文章目录 0 前言1 机器学习-人脸识别过程人脸检测人脸对其人脸特征向量化人脸识别 2 深度学习-人脸识别过程人脸检测人脸识别Metric Larning 3 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 深度学习 机器视觉 人脸识别系统 该项目…

在Linux/Debian/Ubuntu上通过 Azure Data Studio 管理 SQL Server 2019

Microsoft 提供 Azure Data Studio,这是一种可在 Linux、macOS 和 Windows 上运行的跨平台数据库工具。 它提供与 SSMS 类似的功能,包括查询、脚本编写和可视化数据。 要在 Ubuntu 上安装 Azure Data Studio,可以按照以下步骤操作&#xff1…

基于SpringBoot和HeatMap的全球地震热力图可视化实践

目录 前言 一、关于热力图 1、HeatMap简介 2、属性和方法介绍 二、全球地震热力图反演 1、地震信息查询开发 2、前端地图开发 三、地震带反演成果 1、三大地震带反演 2、地震区域分析 总结 前言 众所周知,全球的地震带主要可以分为三处地震带——环太平洋地…

superset 二开增加 flink 数据源连接通过flink sql 查询数据

前言 superset 目前还不支持 flink 的数据源连接,目前我们公司在探索使用数据湖那一套东西: 使用 flink 作为计算引擎使用 paimon oss对象存储对接 flink 作为底层存储使用 superset 通过 flink gateway 查询 paimon 数据形成报表 增加flink数据源 …

Gavin Wood 精彩演讲|安全灵活 JAM 链,打造去中心化多核计算机

Polkadot 年度开发者大会 sub0 Asia 近期在泰国曼谷正式落幕。面对区块链行业的激烈竞争,Polkadot 创始人 Gavin Wood 在演讲中说明将如何利用 Polkadot 2.0 与 JAM 链带来新的技术创新,推动生态持续发展。 Polkadot 将推一个名为 JAM 链的新网络。JAM …

用傅里叶变换和反变换消除噪音信号干扰的软件实例

一、序言 场景一:噪音信号是数据采集处理的天敌,但无时无刻它都存在,于是,信号传输时进行屏蔽防护、模数转换时给予充分的采保时间、电路实现上低通带通处理,为了减小电解电容的感抗作用有时还附加上瓷片电容滤波&…

python的ITS 信息平台的设计与实现flask-django-nodejs-php

第二,陈列说明该系统实现所采用的架构、系统搭建采用的服务器、系统开发环境和使用的工具,以及系统后台采用的数据库。 最后,对系统进行全面测试,主要包括功能测试、查询性能测试、安全性能测试。 分析系统存在的不足以及将来改进…

深度学习pytorch——感知机(Perceptron)(持续更新)

什么是感知机? 感知机是由美国学者FrankRosenblatt在1957年提出来的。感知机是作为神经网络(深度学习)的起源的算法。因此,学习感知机的构造也就是学习通向神经网络和深度学习的一种重要思想。 感知机接收多个输入信号&#xff0c…