讲点登录业务

news2024/12/23 23:44:36

1.单点Session

通过判断用户是否有服务器赋予的session_id,点对点服务器的用户信息,确认用户身份
缺点: 单点性能压力大无法扩展,如果是分布式的话,其他的服务怎么进行认证呢?
在这里插入图片描述

2.Redis解决共享问题

我们可以将session的认证信息(多个服务session肯定是不一样的,毕竟服务器都不一样了),我们可以放到Redis 中——>来保证Session共享数据信息;

3.token

利用Token结合用户的唯一标识生成一个唯一id(作为用户凭证),**(作为key,value为用户信息)**放到Redis中,当用户进行登录的时候,对token进行解析,如果redis中取不到数据就失败,否则就成功——>相当于在服务上面盖了一层redis作为全局的一种体现
在这里插入图片描述
**区别:**客户端保存token,根据用户输入的用户密码生成token(比如JWT生成的),然后生成的token去校验如果符合要求就过(体现的就是无状态);

https://blog.csdn.net/weixin_57128596/article/details/127977743?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522167008184216800182797478%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=167008184216800182797478&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2blogfirst_rank_ecpm_v1~rank_v31_ecpm-1-127977743-null-null.nonecase&utm_term=RSA&spm=1018.2226.3001.4450
打算用RSA做token加密

4.SSO模式

压力全部来到认证中心,去任意一个服务都要认证,全局的认证是Redis缓存的,查询用户先去缓存中看是否存在
在这里插入图片描述

JWT令牌组成

**Header:**里面是放类型的,一般JWT类型,可以设置加密的算法(非对称加密等等)
**PAYLOAD:**一般是放数据
签名哈希:本质利用的base64编码方案进行编码——>只是对数据进行编码,所以我们的数据不能暴露(紫色那部分)
https://blog.csdn.net/aozeahj/article/details/52507352
在这里插入图片描述

JWT的用法

我们一般是将token放在header或者body中不然会因为跨域的问题,后端无法接收(Cookie)
在这里插入图片描述

5.JWT的问题趋势

在这里插入图片描述

令牌类型

**1.透明令牌:**随机生成字符串标识符,没有包含认证信息
**2.自包含令牌:**里面包含认证信息

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

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

相关文章

JavaWeb(四)

前言 在学习JSP之前,首先咱们要了解的是,学这个语言有什么用,这个语言用在哪里呢? 这就要从咱们的MVC框架开始讲起 MVC模式是一种软件架构模式,对于我这种软件工程专业的人来说,真的是逃离不了学这个东西。…

Java_题目_学生管理系统_注册登录忘记密码

学生管理系统升级版 Java_题目_学生管理系统_业务分析并搭建主菜单_查询添加删除修改 需求: ​ 为学生管理系统书写一个登陆、注册、忘记密码的功能。 ​ 只有用户登录成功之后,才能进入到学生管理系统中进行增删改查操作。 分析: 登录…

微信小程序自动化测试实践(附 Python 源码)| 实战系列

为什么要进行小程序自动化测试 随着微信小程序的功能和生态日益完善,很多公司的产品业务形态逐渐从 App 延升到微信小程序、微信公众号等。小程序项目页面越来越多,业务逻辑也越来越复杂,全手工测试已无法满足快速增长的业务需求。 然而&am…

LL(1)文法的核心原理

来自编译原理课本,课本上讲的非常好,这里用我自己的方法再讲述一下。 讨论范围:2型文法,产生式的左边只有一个非终结符号。(这样才能构建树) 用语法树去进行巨型分析的时候会遇到的问题:多个候…

web前端期末大作业 html+css+javascript汽车介绍网页设计实例 企业网站制作(带报告3490字)

🎉精彩专栏推荐 💭文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (10…

WEB前端网页设计 CSS网页代码 基础参数(三)

目录 font-size属性单位; color:文本颜色 间距 text-decoration:文本装饰 text-align:水平对齐方式 white-space:空白符处理 text-overflow:标示对象内溢出文本 盒子模型: 高度坍…

Python课程设计-图书管理系统

Python课程设计-图书管理系统摘要第一章 绪论1.1 开发环境及技术1.2 系统实现功能描述第二章 功能详细设计与实现2.1 系统框架各层次实现2.1.1 可视页面设计2 数据库设计3 逻辑流程设计2.2 主要功能的设计与实现1 功能 1用户登录2 功能 2展示图书3 功能 3添加图书4 功能 4删除图…

3dmax 打开查看模型

下载一个3dmax模型如下图;包含一个.max文件,一个文件夹; 从File菜单打开该模型;打开对话框右侧会显示模型的一个缩略图; 有任何情况均忽略,直接打开,出现一个Scene Converter对话框,…

Spring MVC 源码分析

Spring MVC 源码分析1. 回顾Servlet1.1. 什么是Servlet1.2. Servlet工作模式1.3. Servlet的工作原理1.4. 源码分析1.4.1. Servlet接口1.4.2. GenericServlet抽象类1.4.3. HttpServlet抽象类1.5. Servlet的局限性2. Spring MVC简介2.1. 什么是MVC2.2. 什么是Spring MVC&#xff…

【深度学习】详解 BEiT

目录 摘要 一、引言 二、方法 2.1 图像表示 2.1.1 图像 patch 2.1.2 视觉 token 2.2 主干网络:图像 Transformer 2.3 预训练 BEiT:掩码图像建模 2.4 从变分自动编码器的角度来看 2.5 预训练设置 2.6 在下游视觉任务微调 BEiT 三、实验 3.…

谁还说我没表情包用?马上用Python采集上万张个表情包

前言 今天来表演一手 采集全网表情包图片 虽然我现在的wx表情包已经996个了,但是我还在存表情包哈哈,多了就继续删 现在跟人聊天,不发个表情包,我都觉得不对劲,怪难受的 索性今天就来,给你们分享一下&a…

Vue3:分析elementplus表格第一列序号hover变多选框实现思路

灵感来自Vue el-table 表格第一列序号与复选框hover切换 源码是通过Vue2elementui去实现的,本篇是通过Vue3elementplus实现,所以在代码上面有些许不同,但函数名一致 实现思路: ①通过表头是多选框,我们可以判定这一…

9.1、面向对象编程

文章目录面向对象编程简介面向对象编程面向对象编程的三大特性对象和类封装练习继承什么是继承重写父类方法多继承私有属性和私有方法多态项目案例:栈和队列的封装栈的封装队列的封装python是面向对象的编程语言 面向对象编程简介 “面向过程”(Procedure Oriente…

Java并发编程—synchronized

文章目录synchronized 的底层实现原理监视器锁对象的锁的获取过程如下:monitorexit:加synchronized锁前后对比synchronized的作用synchronized的三种主要用法synchronized为什么是 非公平锁?————————————————————————…

大数据项目 --- 电商数仓(一)

这个项目实在数据采集基础使用的,需要提前复习之前学的东西,否则的话就是很难继续学习.详见博客数据项目一 ---数据采集项目.大数据项目 --- 数据采集项目_YllasdW的博客-CSDN博客大数据第一个项目笔记整理https://blog.csdn.net/m0_47489229/article/details/127477626 目录 …

Android 基于物理特性动画 —— 弹簧动画

在安卓开发中我们可以通过动画添加视觉提示,向用户通知应用中的动态。当界面状态发生改变时(例如有新内容加载或有新操作可用时),动画尤其有用。动画还为应用增加了优美的外观,使其拥有更高品质的外观和风格。 首先来…

Java并发编程—并发和并行、线程上下文

文章目录并发和并行并发和并行的区别上下文切换相关问题为什么循环次数少的情况下,单线程快?什么时候需要用多线程?线程上下文切换消耗的时长?用什么测试的线程上下文?面试回答下面的工具会加分:如何减少上…

DQL简介

学习笔记之DQL 数据查询语言,用来查询数据库中表的记录。 查询关键字:select 基本查询 1查询多个字段 select 字段1,字段2,字段3.. from 表名; select * from 表名;2设置别名 select 字段1 [别名1],字段2[别名2]... from 表名;3…

233搞懂HMM(隐马尔可夫)

文章目录2条性质3个参数3个问题维特比算法参考资料有向图模型,主要用于时序数据建模,在语音识别,自然语言处理等领域,以及在知识图谱命名实体识别中的序列标注,有广泛应用。 HMM模型由两部分组成, 观测变量…

spring boot 应用mybatis

Mybatis入门: Mybatis入门_做测试的喵酱的博客-CSDN博客 目录 一、spring boot 应用mybatis 核心 二、举例: 2.1 背景 2.2 项目结构: 2.3 依赖包 pom 2.4 项目配置文件application.yml 2.5 实例层entity 2.6 mybatis的mapper层 2.7 spring boot…