栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Spring Security 学习笔记(五)--分布式系统认证方案

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Spring Security 学习笔记(五)--分布式系统认证方案

5.1什么是分布式系统

略。

5.2分布式认证需求

分布式系统的每个服务都会有认证、授权的需求,如果每个服务都实现一套认证授权逻辑的话,会使代码显得非常冗余,考虑到分布式系统共享性的特点,需要由独立的认证服务处理系统认证授权的请求;考虑到分布式系统开放的特点,不仅对系统内部服务提供认证,对第三方系统也要提供认证。

统一认证授权

        提供独立的认证服务,统一处理认证授权。

        无论是不同类型的用户,还是不同种类的客户端(web端,APP、H5),均采用一致的认证、权限、会话机制,实现统一认证授权。

要实现统一则认证方式必须可扩展,支持各种认证需求,比如:用户名密码认证、短信验证码、二维码、人脸识别等认证方式,并可以非常灵活的切换。

应用接入认证

应提供扩展和开放能力,提供安全的系统对接机制,并可开放部分API给接入第三方使用,一方应用(内部系统服务)和第三方应用均采用统一机制接入。

5.3分布式认证方案 5.3.1选型分析

1、基于session的认证方式

在分布式的环境下,基于session的认证会出现一个问题,每个应用服务都需要在session中存储用户身份信息,通过负载均衡将本地的请求分配到另一个应用服务需要将session信息带过去,否则会重新认证。

 

2、基于token的认证方式

基于token的认证方式,服务端不用存储认证数据,易维护扩展性强,客户端可以把token存在任意地方,并且可以实现web和app统一认证机制。其缺点也很明显,token由于自包含信息,因此一般数据量较大,而且每次请求都需要传递,因此比较占带宽。另外,token的签名验签操作也会给cpu带来额外的处理负担。

 

 5.3.2技术方案

根据选型的分析,决定采用基于token的认证方式,他的优点是:

1、适合统一认证的机制、客户端、一方应用、第三方应用都遵循一致的认证机制,

2、token认证方式对第三方应用接入更适合,因为它更开放,可使用当前流行的开放协议Oauth2.0、JWT等;

3、一般情况下,服务端无需存储会话信息,减轻了服务端的压力。

分布式系统认证技术方案见下图:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/694883.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号