微服务项目:尚融宝(22)(后端搭建:上手访问令牌)
搭建 访问 22 服务项目 尚融宝 令牌
2023-06-13 09:15:10 时间
一、用户身份认证
1、单一服务器模式
一般过程如下:
- 用户向服务器发送用户名和密码。
- 验证服务器后,相关数据(如用户名,用户角色等)将保存在当前会话(session)中。
- 服务器向用户返回session_id,session信息都会写入到用户的Cookie。
- 用户的每个后续请求都将通过在Cookie中取出session_id传给服务器。
- 服务器收到session_id并对比之前保存的数据,确认用户的身份。
缺点:
- 单点性能压力,无法扩展。
- 分布式架构中,需要session共享方案,session共享方案存在性能瓶颈。
session共享方案:
session广播:性能瓶颈,不推荐
redis代替session:推荐,性能高
2、SSO(Single Sign On)模式
CAS单点登录、OAuth2
分布式,SSO(single sign on)模式:单点登录英文全称Single Sign On,简称就是SSO。它的解释是:在多个应用系统中,只需要登录一次,就可以访问其他相互信任的应用系统。
- 如图所示,图中有3个系统,分别是业务A、业务B、和SSO。
- 业务A、业务B没有登录模块。
- 而SSO只有登录模块,没有其他的业务模块。
一般过程如下:
- 当业务A、业务B需要登录时,将跳到SSO系统。
- SSO从用户信息数据库中获取用户信息并校验用户信息,SSO系统完成登录。
- 然后将用户信息存入缓存(例如redis)。
- 当用户访问业务A或业务B,需要判断用户是否登录时,将跳转到SSO系统中进行用户身份验证,SSO判断缓存中是否存在用户身份信息。
- 这样,只要其中一个系统完成登录,其他的应用系统也就随之登录了。这就是单点登录(SSO)的定义。
优点 :
用户身份信息独立管理,更好的分布式管理。可以自己扩展安全策略
缺点:
认证服务器访问压力较大。
3、Token模式
优点:
- 无状态: token是无状态,session是有状态的
- 基于标准化:你的API可以采用标准化的 JSON Web Token (JWT)
缺点:
- 占用带宽
- 无法在服务器端销毁
Token是 服务端生成的一串字符串,以作客户端进行请求的一个令牌,当第一次登录后,
服务器生成-个Token便将此Token返回给客户端后,客户端只需带上这个Token前来请求数据即可,
无需再次带上域名和密码。
相关文章
- Python 环境搭建
- 4.3k Star国产开源简单易用的物联网平台,可搭建物联网平台及二次开发和学习
- 【鸿蒙 HarmonyOS】HarmonyOS 开发环境搭建 ( Node.js 安装 )
- Linux下搭建Java环境
- 【轻NAS】Windows搭建可道云私有云盘,并内网穿透公网访问
- CentOS7 FTP服务搭建(虚拟用户访问FTP服务)详解程序员
- Hadoop(五)搭建Hadoop客户端与Java访问HDFS集群详解大数据
- 安卓技术搭建搭配MSSQL数据库(安卓mssql)
- Linux 局域网配置:轻松搭建一个稳定的网络环境(linux局域网配置)
- Docker搭建快速、稳定的Redis集群(dockerredis)
- 极速搭建:利用阿里云实现MySQL外网访问(阿里云mysql外网访问)
- C与MySQL结合:搭建可靠的数据库体系(cppmysql)
- 联调Redis,搭建无懈可击的文档系统(联调redis对接文档)
- 架设Redis外网服务实现安全可靠的远程访问(搭建redis外网访问)
- 从零开始搭建Redis分片集群(分片集群 redis)
- 搭建Redis集群,有五个主节点(redis集群5个主节点)
- 在阿里云上搭建Oracle数据库(oracle上阿里云)
- Redis搭建远程连接实现无缝访问(redis连接远程主机)
- 使用Redis打造高效缓存系统(redis缓存搭建)
- 如何利用ROS MoveIt快速搭建机器人运动规划平台?