单点登录 cas 设置回调地址_单点登录落地实现技术有哪些,有哪些流行的登录方案搭配?...

实现单点登录说到底就是要解决如何产生和存储那个信任,再就是其他系统如何验证这个信任的有效

性,因此要点也就以下两个:1、存储信任 ;2、服务器生产~验证信任 ; 3、拿到服务器再次验证。

c653dd06ec8633e9d8e71eed440992a9.png

单点登录的常见落地实现技术有哪些?

身份认证技术:

840b7aac6dd7ba0eabdec340c37dcda4.png

1. cas(单点登录)

2. Spring Security OAuth2(第三方登录授权:QQ登陆)

3. jwt (客户端token:原生)

安全控制框架:

1. spring-security

2. shiro:

cas(单点登录)

5d25751e8d11b7b6065dede4e590944d.png

解决问题:多个系统只需登录一次,无需重复登录

原理:授权服务器,被授权客户端 CS架构

1. 授权服务器(一个)保存了全局的一份session,客户端(多个)各自保存自己的session

2. 客户端登录时判断自己的session是否已登录,若未登录,则(告诉浏览器)重定向到授权服务器

(参数带上自己的地址,用于回调)

3. 授权服务器判断全局的session是否已登录,若未登录则定向到登录页面,提示用户登录,登录成

功后,授权服务器重定向到客户端(参数带上ticket【一个凭证号】)

4. 客户端收到ticket后,请求服务器获取用户信息

5. 服务器同意客户端授权后,服务端保存用户信息至全局session,客户端将用户保存至本地session

6. 默认不支持http请求, 仅支持https 。 生成证书 keytools

缺点:cas单点登录技术适用于传统应用的场景比较多, 官方示例也是以javaWeb为准, 对微服务化应

用,前后端分离应用,支持性较差。

oauth2(第三方登录授权)

9b3a5f009a13688089a842e6745776ee.png

解决问题:第三方系统访问主系统资源,用户无需将在主系统的账号告知第三方,只需通过主系统的授

权,第三方就可使用主系统的资源

如:APP1需使用微信支付,微信支付会提示用户是否授权:取消,用户授权后,APP1就可使用微信支

付功能了。

OAuth2是用来允许用户授权第三方应用访问他在另一个服务器上的资源的一种协议,它不是用来做单

点登录的,但我们可以利用它来实现单点登录。

原理:主系统,授权系统(给主系统授权用的,也可以跟主系统是同一个系统),第三方系统。

1. 第三方系统需要使用主系统的资源,第三方重定向到授权系统

2. 根据不同的授权方式,授权系统提示用户授权

3. 用户授权后,授权系统返回一个授权凭证(accessToken)给第三方系统【accessToken是有有效

期的】

4. 第三方使用accessToken访问主系统资源【accessToken失效后,第三方需重新请求授权系统,以

获取新的accessToken】

Resource Server: 被授权访问的资源

Authotization Server:OAUTH2认证授权中心

Resource owner : 资源拥有者

Client:使用API的客户端(如Android 、IOS、web app)

jwt (客户端token)

6bb7847dbd94c191a4e38b201a43a291.png

难度较大,需要你了解很多协议~

Json web token (JWT),是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC

7519).

该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景。JWT的声明一般被用

来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,也可以增

加一些额外的其它业务逻辑所必须的声明信息,该token也可直接被用于认证,也可被加密。

基于JWT认证协议,自己开发SSO服务和权限控制。

SpringSecurity

2f25e3634f0382fc4e9e3097737f1029.png

springSecurity 是spring家族的安全控制框架, 功能非常完善。

Spring Security是能够为J2EE项目提供综合性的安全访问控制解决方案的安全框架。

它依赖于Servlet过滤器。这些过滤器拦截进入请求,并且在应用程序处理该请求之前进行某些安全处

理。

Shiro

985813f67c3db04cf90273a42c291496.png

spring-boot-starter-springsecurity

特征 spring-security + oauth2 shiro + cas jwt

依赖 jdk、jwt、redis redis、jdk、jwt --

自定义

权限

支持,用户登录后将用户的权限列表

写入认证服务器

支持 , 用户登录后将用户

的权限列表写入客户端 支持

认证服

务集群 -- CAS支持 支持

共享

session

支持 支持 支持

前后端

分离 支持,参数始终携带access_token

支持不够友好,需要改造

CAS服务端 支持

Apache Shiro 是一个强大而灵活的开源安全框架,它干净利落地处理身份认证,授权,企业会话管理

和加密。

以下是 Apache Shiro 可以做的事情:

17a7cbade71b32bcab747fa5f2e1606f.png

1. 验证用户来核实他们的身份

2. 对用户执行访问控制

3. 判断用户是否被分配了一个确定的安全角色

4. 判断用户是否被允许做某事

5. 在任何环境下使用 Session API,即使没有 Web 或 EJB 容器。

6. 在身份验证,访问控制期间或在会话的生命周期,对事件作出反应。

7. 聚集一个或多个用户安全数据的数据源,并作为一个单一的复合用户“视图”。

8. 启用单点登录(SSO)功能。内置了jasig-cas

9. 为没有关联到登录的用户启用"Remember Me"服务。

18639c4efd91bf4fb1e422f07483006a.png

市面主流的技术搭配

14d440ad075cefed281183c2a0a99f2e.png

搭配方案一

8de46a51681f5e9f234ded050e3b0971.png

搭配方案二

技术人员态度: 通吃才对!大家觉得这个课程对大家有帮助吗?敬请关注,下一个文章告诉大家具体的代码实现方案!

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

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

相关文章

python 长度queue_python:常见的数据结构

​ Python中常见的数据结构可以统称为容器。序列(如列表和元组)、映射(如字典)以及集合(set)是三类主要的容器。线性数据结构分类:栈(stack)--先进后出、 队列(queue)-先进先出、双端队列(deque…

纯java pdf转换成html,java pdf转换html代码

java pdf转换html代码[2021-02-03 00:56:42] 简介:php去除nbsp的方法:首先创建一个PHP代码示例文件;然后通过“preg_replace("/(\s|\&nbsp\;| |\xc2\xa0)/", " ", strip_tags($val));”方法去除所有nbsp即可。推荐&#xff1a…

tina中信号带宽_如何评测示波器带宽

示波器最重要的单一特性,即带宽在频率域提供范围标示。带宽以Hz衡量,根据频率决定信号范围,以便能精确显示及进行测试。带宽不足,则示波器将不能显示出实际信号的准确表现。例如,信号的幅度也许会不准确、边缘也许会不…

esc指令检查打印状态_【行业知识分享】八千字解读ESC系统

汽车电子稳定控制系统ESC(Electronic StabilityController)是一个主动安全控制系统,通过传感器监控车辆自身行驶状态,在车辆紧急躲避障碍物、转弯等容易出现不稳定状况时,以及在转向过度或转向不足情况下,利用动力系统干预及制动系…

c语言中文网 vc++6.0下载量_【新手必看】C语言开发环境,请查收!

C语言开发环境的选择,貌似是告诉我们,工欲善其事,必先利其器。01、Visual StudioVisual Studio(简称 VS),它是 Windows 下的标准 IDE,VS系列为IDE(集成开发环境)&#xf…

hssfworkbook.write 生成文件 数据丢失_电脑文件丢失了,数据恢复我只用这一个软件!...

电脑使用久了,遇到硬盘数据丢失或者误删乃是常见之事。所以这样的事情发生之时,最重要的是找到一个明智的解决方法,切忌浮躁,一个不小心,可能造成更严重的后果。据不完全统计,当电脑文件丢失后,…

html如何让图片跟字体重叠,CSS设置图片与文字的间距

【实例介绍】CSS设置图片与文字的间距希望图片本身与文字有一定的距离只需要给标记添加margin属性即可。margin属性包括margin.top、margin-right,margin-bottom、margin—left、margin。属性margin可以用来同时设置图片的四边外边距,而其他的…

查看so库中是否有某个定义_论Linux ELF中动态库符号重定义利用 属性/Linker 做隐藏的手法...

假如libgetthree.so libgetseven.so , 同时这两个so内部都用了internal_do_calculation()函数,并且各自定义了自己的internal_do_calculation()的实现,你会想当然的认为他们各自不影响,libgetthree和libgetseven会分别用自己的internal_do_ca…

华为新系统鸿蒙能互通吗,「连接」万物的鸿蒙,能拯救华为手机吗?

为 IoT 而生的鸿蒙操作系统,其优势与特点几乎都是围绕「万物互联」展开的。在曝光两年之后,华为的鸿蒙系统终于正式和用户见面了。6 月 2 日,华为鸿蒙操作系统及华为全场景新品发布会开启,正式推出 HarmonyOS 2.0,并发…

dw中html颜色的设置颜色代码,Dreamweaver 如何编辑字体大小颜色

以下为学做网站论坛关于“Dreamweaver 如何编辑字体大小颜色”讲解视频教程。dreamweaver是个可视化的软件,你直接选中你要更改的设置,在编辑器中直接就可以更改了。或是用CSS也可以设置你说的那些内容字体大小、颜色样式。dreamweaver编辑字体大小、颜色…

html 图片position,【图解CSS#Position】

关于CSS position,来自MDN的描述:CSS position属性用于指定一个元素在文档中的定位方式。top、right、bottom、left 属性则决定了该元素的最终位置。先看一个图片:child没设置position的样式代码如下:child1-1child1-2child1-3chi…

佳能g3800故障灯说明书_佳能打印机故障如何维修 佳能打印机故障维修方法【介绍】...

在现代办公中是离不开打印机的,一些办公文件都是需要用它来打印的,也因此在办公中的地位是很重要的。也正因此它要是出现了故障,会给我们带来很大的麻烦,很是影响工作进度。佳能是很知名的,即使是这样,它在…

ll微信2下载安装_【兰苑文学】:陈振 ll黄金槐

作者简介陈振,新余市作协会员,江西省优秀乡村教师,中国网络诗歌学会会员。作品见于《诗选刊》《诗歌月刊》《诗潮》《鸭绿江》《诗人》《作家报》《长江诗歌》《海口日报》印尼《千岛日报》和《2018江西诗歌年选》《中国民间短诗精选》《中国…

无法扩展该卷 因为群集的数量将超过文件系统_浏览器将支持Python项目!Mozilla发布Pyodide...

作者|Michael Droettboom 编译|王强、覃云 近日,Mozilla 发布了一个实验项目 Pyodide,旨在浏览器内运行一个完整的 Python 数据科学堆栈。链接:https://github.com/iodide-project/pyodide/Pyodide 的创意起源于 Mozil…

华锋e路航x10升级工具_万商云集:疫情下火爆的电子合同,背后是企业数字化升级的必然...

近年来,数字经济快速发展成为中国经济发展的新动能,作为企业数字化转型中非常重要的一环,电子合同也随着产业数字化程度的加深快速渗透到各行各业,万商云集早在去年年底就已经正式拥抱电子合同,助力客户实现数字化升级…

edge播放视频HTML5黑屏,Win10 edge浏览器播放视频黑屏解决方法

Edge看不了视频怎么办呢? 出现这样的问题是由于Edge浏览器中需要点击允许才能看视频,但如果不弹出提示窗口我们就无法正常观看视频,所以当我们遇到这样的情况可以按下面方法进行操作!Edge看不了视频解决步骤:1、按下winR 组合键打开运行&…

@async 如何返回list_图解 Await 和 Async

原文链接:Await and Async Explained with Diagrams and Examples文章目录简介Promise问题:组合 PromiseAsync 函数Await错误处理讨论简介JavaScript ES7中的 async/await 使得协调异步 promise 变得更容易。如果你需要从多个数据库或 API 异步获取数据&…

求一个向量变换为另一个向量的矩阵_OpenGL里旋转等变换矩阵为什么是4x4的矩阵...

OpenGL ES 的很多教程里都会有这样一个例子来讲解纹理:将一张图片作为纹理显示在屏幕上。因为纹理坐标和实际屏幕显示的坐标不一样,把图片渲染在屏幕上后,图片是上下颠倒的。一个解决方法是对当前的顶点坐标,乘以绕 z 轴旋转180度…

白鹭时代与html5关系,白鹭时代观点:HTML5行业将进入红利收割期

2016年,H5产业风风火火,各种引人注目。最大成果无疑是游戏《传奇世界H5》月流水破了3000万,引起整个行业巨大震动,同时,也标志着H5重度游戏时代来临。国内最大的HTML5移动技术与服务供应商白鹭时代认为,201…

boot定时任务开启和关闭 spring_Spring之定时任务实践

Java下的定时任务实现有Timer,Spring,QuartZ等,这里我们介绍Spring中定时任务的应用,其通过 Scheduled 注解即可轻松实现概述Spring 的定时任务可以支持各种形式的定时调度任务。其通过加在定时方法上的 Scheduled 注解来配置任务…