应用安全四十二:SSO安全

一、什么是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. 简化应用系统开发:开发新的应用系统时,可以直接使用单点登录平台的用户认证服务,简化开发流程。单点登录平台

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

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

相关文章

【Git】git的下载安装与使用

目录 目录 一.下载安装 官方下载 淘宝镜像下载 安装 二.创建本地仓库 三.git的基本操作命令 git status git add . git commit -m " " 四.gitee(码云)的使用 配置ssh公钥 ​编辑 查看公钥 gitee创建仓库 将本地仓库的文件上传到远程仓库…

使用 ChatGPT 提升 LeetCode 刷题效率

文章目录 1 背景2 操作步骤 1 背景 在做 LeetCode 的 SQL 题库时, 想在本地调试, 需要在本地的数据库上创建表以及准备测试数据, 大家都是有经验的开发人员, 简单粗暴的办法就不讲了 可以借助 ChatGPT 的能力, 生产数据库的表以及测试数据的 sql, 提升刷题效率 2 操作步骤 将…

【计算机组成与设计】Chisel取指和指令译码设计

本次试验分为三个部分: 目录 设计译码电路 设计寄存器文件 实现一个32个字的指令存储器 设计译码电路 输入位32bit的一个机器字,按照课本MIPS 指令格式,完成add、sub、lw、sw指令译码,其他指令一律译码成nop指令。输入信号名…

【UE 材质】简单的闪闪发光材质

效果 节点 参考视频: https://www.bilibili.com/video/BV1uK411y737/?vd_source36a3e35639c44bb339f59760641390a8

【Liunx系统编程】命令模式3

目录 一,zip/unzip压缩指令 二,tar打包/压缩/解包指令 三,uname获取系统信息指令 四,Liunx下常用且重要的按键和关机指令 五,文件之间的互传 1,Windows与Linux之间的互传 2,Linux系统之间…

0xGame Web 2023

0xGame Web 2023 [Week 1] signin 这题直接看源码就行,easy [Week 1] baby_php OST /?aQNKCDZO&b240610708 HTTP/1.1 Host: 120.27.148.152:50014 Content-Length: 11 Pragma: no-cache Cache-Control: no-cache Upgrade-Insecure-Requests: 1 Origin: htt…

K8s学习笔记——认识理解篇

1. K8s诞生背景 回顾应用的部署,经历了以下几个阶段: 传统部署:物理服务器上运行应用程序。虚拟机部署:物理服务器上安装虚拟机,在虚拟机上运行应用程序。容器部署:物理服务器上安装容器运行时&#xff0…

android studio 编译Telegram源码经验总结(2023-11-05)

前言 Telegram是一款强大的端到端加密IM,专注于安全性和速度,支持Android/IOS/Windows/macOS等平台,功能丰富,运行流畅,免费开源,代码具有学习和研究意义。 一、android telegram源码下载地址: …

MQTT协议零基础快速入门

MQTT协议零基础快速入门 MQTT(Message Queuing Telemetry Transport)是一种轻量级的发布/订阅消息传输协议,广泛应用于物联网(IoT)和机器对机器(M2M)通信场景。它具有简单、开放、易于实现等优…

2014年亚太杯APMCM数学建模大赛C题公共基础课教师专业化培养方式研究求解全过程文档及程序

2014年亚太杯APMCM数学建模大赛 C题 公共基础课教师专业化培养方式研究 原题再现 近年来,世界基础工业、信息产业、服务业的跨越式发展引发了大量人才需求,导致了职业教育的飞速发展,除原有专科层次高等职业教育院校外,大量普通…

0002Java安卓程序设计-基于Uniapp+springboot菜谱美食饮食健康管理App

文章目录 开发环境 《[含文档PPT源码等]精品基于Uniappspringboot饮食健康管理App》该项目含有源码、文档、PPT、配套开发软件、软件安装教程、项目发布教程、包运行成功 编程技术交流、源码分享、模板分享、网课教程 🐧裙:776871563 功能介绍&#xff…

饥荒联机版 Don‘t Starve Together(WinMac)最新中文学习版

《饥荒联机版》是由Klei自主开发的开放世界冒险游戏。在这个游戏中,玩家将扮演各种各样的人物,这些人物不幸来到了一个神秘的异世界。在旅行中,玩家会邂逅性格各异、能力独特的同伴们,并和他们一起生存下去并征服异世界。游戏中的…

Windows Server 2019安装docker服务

离线状态下,使用脚本在Windows Server 2019环境中安装docker服务。 1.安装脚本 在微软官方网站中,找到脚本并下载: 准备 Windows 操作系统容器 | Microsoft Learn 脚本地址: https://raw.githubusercontent.com/microsoft/Win…

MySQL索引优化与查询优化

1. 索引失效案例 MySQL中提高性能的一个最有效的方式是对数据表设计合理的索引。索引提供了访问高效数据的方法,并且加快查询的速度,因此索引对查询的速度有着至关重要的影响。 使用索引可以快速地定位表中的某条记录,从而提高数据库查询的速…

【Linux】 shutdown 命令使用

shutdown 命令可以用来进行关机程序,并且在关机以前传送讯息给所有使用者正在执行的程序,shutdown 也可以用来重开机。使用权限:系统管理者。 语法 shutdown [选项] 时间 [警告信息] 命令选项及作用 执行令 man shutdown 执行命令结果 参…

字符串函数的模拟实现

今天我们来了解以下一些字符串函数的模拟实现: strlen strcpy strcat strcmp strlen函数的模拟实现 首先我们转到cplusplus中查找strlen的官方解释: 通过查找我们了解到,strlen是用来测量一个字符串长度的函数,函数的返回值就是…

【六、http】go的http的客户端重定向

一、http的重定向 重定向过程:客户浏览器发送http请求----》web服务器接受后发送302状态码响应及对应新的location给客户浏览器–》客户浏览器发现是302响应,则自动再发送一个新的http请求,请求url是新的location地址----》服务器根据此请求寻…

【嵌入式开发工具】STM32+Keil实现软件工程搭建与开发调试

本篇文章介绍了使用Keil来对STM32F103C8芯片进行初始工程搭建,以及开发与工程调试的完整过程,帮助读者能够在实战中体会到Keil这个开发环境的使用方法,了解一个嵌入式工程从无到有的过程,并且具备快速搭建一个全新芯片对应最小软件…

软件测试工作流程

流程体系介绍 在以往的项目工作中,我参与过,需求评审、测试计划制定、测试用例编写、测试用例执行、测试脚本编写、测试脚本的执行,进行回归测试、验收测试、编写阶段性测试报告等工作 需求分析,需求评审(RPD、产品原…

【ArcGIS Pro二次开发】(74):Python、C#实现Excel截图导出图片

以村庄规划制图为例,通过对现状和规划用地的统计,生成Excel格式的【空间功能结构调整表】后,需要进一步将表格导出成图片,并嵌入到图集中,这样可以实现全流程不用手动参与,让制图的流程完全自动化。 关于E…