应用安全四十二:SSO安全

news2024/11/29 11:49:22

一、什么是SSO

SSO是单点登录(Single Sign On)的缩写,是指在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。这种方式减少了由登录产生的时间消耗,辅助了用户管理,是比较流行的企业业务整合的解决方案之一。

身份验证过程依赖于双方之间的信任关系——身份提供者(IDP)和服务提供者(SP是最终用户想要访问的应用程序)。在最常见的身份验证流下,当用户希望访问服务提供者时,将使用SAML请求消息将其重定向到身份提供者(IDP)。如果用户尚未登录,身份提供者将对其进行身份验证,如果验证成功,它将使用SAML响应消息(通常在POST请求的正文中)将用户重定向回服务提供者。SAML响应消息将包含一个标识用户并描述一些条件的断言(响应的过期时间和访问的范围,该限制声明断言对哪个服务有效)。服务提供者应该验证响应、断言和条件,并且只有在身份验证成功时才向用户提供对应用程序的访问权限。

二、SSO带来的好处

当用户第一次访问应用系统的时候,因为还没有登录,会被引导到IDP认证系统中进行登录;根据用户提供的登录信息,IDP认证系统进行身份校验,如果通过校验,应该返回给用户一个认证的凭据——ticket;用户再访问别的应用的时候就会将这个ticket带上,作为自己认证的凭据,应用系统接受到请求之后会把ticket送到认证系统进行校验,检查ticket的合法性。

启用SSO之前:

启用SSO之后:

现在的大部分公司内部用用系统很多,有项目管理系统、bug管理系统、知识管理系统、邮件管理系统、远程机器访问管理等等。如果每访问一次系统都要输入一次密码,确实很麻烦。由于SSO只需要登录一次,就可以访问很多应用,给内部办公带来很多便利,大大提高效率的同时,也给IT管理人员减少了很多工作量。

SSO主要的优点如下:

  1. 方便用户:用户只需一次登录,就可以访问所有相互信任的应用系统,无需每次输入用户名和密码,也不需要记住多套用户名和密码。用户更愿意使用复杂的密码策略,促进了安全密码策略的实施。这提高了用户体验,特别是对于需要访问多个系统的用户来说。
  2. 方便管理员:管理员只需要管理一套统一的用户账号,方便、简单。相比之下,管理员以前需要管理很多套的用户账号,这不仅给管理上带来不方便,而且容易出现管理漏洞。特别是员工离职时,需要针对多套系统禁用离职员工相关的账号,经常导致会有所遗漏。之前公司就有个同事离职之后,因为账号管理的失误,依然可以使用一个对外的在线网站系统,后来公司强制使用SSO之后,也就自然而然堵上了这个漏洞。管理员可以通过单点登录平台集中管理所有用户的账号和密码信息,方便快捷地进行用户管理。
  3. 简化应用系统开发:开发新的应用系统时,可以直接使用单点登录平台的用户认证服务,简化开发流程。单点登录平台

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

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

相关文章

大数据毕业设计选题推荐-智慧小区大数据平台-Hadoop-Spark-Hive

✨作者主页:IT研究室✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python…

2022年ISSCC会议报告分析

Tutorial Fundamentals of Self-Sensing Processor Systems AMD Zen架构的CCD die中有很多传感器检测die的频率、电压、电压和温度 HBM DRAM and 3D Stacked Memory Advances in Digital vs. Analog AI Accelerators Nvidia的Multi-chip架构的DNN加速器 Form1: Compute-in…

Pycharm-community-2021版安装和配置

一、下载Pycharm-community-2021 1.从官网下载pycharm-community Pycharm 版本官网 二、安装PyCharm 1.打开下载完成的安装包,点击Next 2.安装PyCharm到其他位置,点击Next 3.一定把更新PATH变量勾上,可以创建桌面快捷方式,创建关联,最后…

apache-maven-3.6.3 安装配置教程

链接:https://pan.baidu.com/s/1RkMXipnvac9EKcZyUStfGQ?pwdl32m 提取码:l32m 1. 将 maven 压缩包解压至指定文件夹 2. 配置环境变量 (1)打开此电脑-> 鼠标右键选择属性->点击高级系统设置 (2)点…

【移远QuecPython】EC800M物联网开发板的硬件PWM和PWM输出BUG

【移远QuecPython】EC800M物联网开发板的硬件PWM和PWM输出BUG 文章目录 导入库初始化PWM开启PWMPWM硬件BUG附录:列表的赋值类型和py打包列表赋值BUG复现代码改进优化总结 py打包 导入库 from misc import PWM_V2或者 from misc import PWM但我觉得PWM_V2好用 初…

嵌入式中如何把C++代码改写成C语言代码

由于C++解释器比C语言解释器占用的存储空间要大500k左右。为了节省有限的存储空间、降低成本,同时也为了提高效率,将用C++语言写的源程序用C语言改写是很有必要的。 C++与C最大的区…

高位片选与低位交叉编址、芯片扩展与多模块存储器、多通道内存

多模块存储器 是一种空间并行技术,利用多个结构完全相同的存储模块的并行工作来增加存储器的吞吐率。根据不同的编址方式,多模块存储器分为连续编址和交叉编址两种结构 连续编址方式:主存地址的高位表示模块号(体号)…

Python--快速入门二

Python--快速入门二 1.Python数据类型 1.可以通过索引获取字符串中特定位置的字符: a "Hello" print(a[3]) 2.len函数获取字符串的长度: a "Hello" print(a) print(len(a)) 3.空值类型表示完全没有值: 若不确定当…

【嵌入式项目应用】__物联网小知识:不同通讯线的通讯距离是多少,你知道吗?

目录 前言 不同协议通讯线的传输距离 无线传输协议与距离 1. 蓝牙 2. Zigbee 3. LoRa 4. Wi-Fi 5. 蜂窝网络 6. Sigfox 7. LoRaWAN (* ̄︶ ̄)创作不易!期待你们的 点赞、收藏和评论喔。 前言 在物联网中,通讯线的作用是…

leetcode经典面试150题---5.多数元素

目录 题目描述 前置知识 代码 方法一 排序法 思路 实现 复杂度 方法二 哈希表 思路 实现 题目描述 给定一个大小为 n 的数组 nums ,返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的,并且给…

pg14-sql基础(四)-多表联查

多表联查 内联查询 SELECT e.department_id, e.first_name, d.department_name FROM employees e INNER JOIN departments d -- JOIN departments d ON e.department_id d.department_id;左外联查询 SELECT e.department_id, e.first_name, d.department_name FROM employees…

【C语言基础】第01章_C语言入门

讲师:康师傅 视频:https://www.bilibili.com/video/BV1Bh4y1q7Nt?p1&vd_source3eaa9d17f2454e1ae80abc50d16e66b5 文章目录 本章专题脉络1初识计算机语言1.1 计算机语言是什么1.2 计算机语言简史 2初识C语言2.1 C语言的由来2.2 为什么要学习C语言2.…

英语——分享篇——每日200词——1-200

1——ball——[bɔːl]——n.球——ball——ba爸(拼音)ll筷子(象形)——爸爸用筷子夹球——The kid is playing the ball. ——孩子在玩皮球。 2——boat——[bəʊt]——n.船——boat——bo60(象形)at在(熟词)——60个人在船上——I have 60 boats.——我有60艘船。 3——bag—…

【架构图解】API架构图解:如何以图表形式展现复杂系统

文章目录 前言序列图组件图数据流程图结论 前言 架构图是链接到 API 的不同组件/服务如何相互交互的直观表示。 当需要理解 API 的架构并将其传达给不同的利益相关者(包括其他开发人员、项目经理和客户)时,这些图表非常有用。 图表/视觉效…

Python基础入门例程50-NP50 程序员节(循环语句)

最近的博文: Python基础入门例程49-NP49 字符列表的长度-CSDN博客 Python基础入门例程48-NP48 验证登录名与密码(条件语句)-CSDN博客 Python基础入门例程47-NP47 牛牛的绩点(条件语句)-CSDN博客 目录 最近的博文&a…

告知粉丝 重要

告知! 亲爱的粉丝朋友们,由于CSDN(博客)平台的限制,被迫转入 公众号!希望粉丝朋友们谅解!我们也是被逼无奈~~ 但我们还是会在CSDN(博客)发文章,但很少。 如果想要接触更好的文章请关注我们公众号,谢谢! 微信公众号:

POJ-3630电话表(考察字典树)

2023每日刷题&#xff08;二十&#xff09; POJ-3630电话表 题目原地址 输入样例&#xff1a; 2 3 911 97625999 91125426 5 113 12340 123440 12345 98346输出结果&#xff1a; NO YES实现代码 #include<iostream> #include<string> #include<cstring>…

AD9371 官方例程 NO-OS 主函数 headless 梳理(一)

AD9371 系列快速入口 AD9371ZCU102 移植到 ZCU106 &#xff1a; AD9371 官方例程构建及单音信号收发 ad9371_tx_jesd -->util_ad9371_xcvr接口映射&#xff1a; AD9371 官方例程之 tx_jesd 与 xcvr接口映射 AD9371 官方例程 时钟间的关系与生成 &#xff1a; AD9371 官方…

错误:ERROR Cannot read properties of null (reading ‘type‘)

ERROR Cannot read properties of null (reading ‘type’) TypeError: Cannot read properties of null (reading ‘type’) <template><el-card><el-row :gutter="20" class="header"><el-col :span="7"><el-input…

大数据毕业设计选题推荐-无线网络大数据平台-Hadoop-Spark-Hive

✨作者主页&#xff1a;IT毕设梦工厂✨ 个人简介&#xff1a;曾从事计算机专业培训教学&#xff0c;擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Py…