建设网站方案网页休闲游戏网站

news/2025/10/4 10:41:54/文章来源:
建设网站方案,网页休闲游戏网站,住房和城乡建设部注册中心网站,门户网站导航建设方案关于单点登录 单点登录的基本实现思想#xff1a; 当客户端提交登录请求时#xff0c;服务器端在验证登录成功后#xff0c;将生成此用户对应的JWT数据#xff0c;并响应到客户端 客户端在后续的访问中#xff0c;将自行携带JWT数据发起请求#xff0c;通常#xff0c…关于单点登录 单点登录的基本实现思想 当客户端提交登录请求时服务器端在验证登录成功后将生成此用户对应的JWT数据并响应到客户端 客户端在后续的访问中将自行携带JWT数据发起请求通常JWT数据会放在请求头的Authorization属性中 在服务器端的任何服务都可以解析JWT数据从而创建对应的Authentication对象然后将Authentication对象存入到SecurityContext中 目前在之前[SpringBoot]Spring Security框架_万物更新_的博客-CSDN博客已经实现的代码有几个问题   如何退出登录客户端丢弃JWT即可 服务器端如何保证客户端真的丢弃了JWT 如果第三方盗用了JWT如何处理 目前的代码中将管理员的权限列表存储在JWT中导致JWT数据太长并且权限数据应该视为敏感数据不应该表现在JWT中 以上问题都可以结合Redis的应用来解决解决方案如下 退出登录的问题 【推荐】【解决方案1】当验证登录成功后将JWT存入到Redis中在处理JWT数据的过滤器JwtAuthorizationFilter中首先检查Redis中的信息如果此JWT在Redis中存在例如白名单则视为有效所以当退出登录时只需要在Redis中将对应的JWT删除即可 【解决方案2】当退出登录时将JWT存入到Redis中在处理JWT数据的过滤器JwtAuthorizationFilter中首先检查Redis中的信息如果此JWT在Redis中的“黑名单”中则视为无效 盗用JWT的问题 【判断标准】以“IP地址相同或设备信息相同”为真正用户的判断标准即如果IP地址与登录时不同且设备信息与登录时的也不同则视为“盗用” 【实现手段】当用户提交登录请求时就需要获取用户的IP地址与设备信息当验证登录通过后将此用户的JWT、IP地址、设备信息全部存入到Redis中后续当客户端提交请求后在JwtAuthorizationFilter中根据客户端请求中携带的JWT检查此次请求时的IP、设备信息与此前在Redis中存入的是否相同如果两者均不同则视为“盗用”。 携带权限列表的问题 不再将权限列表保存在JWT数据中而是存在Redis中 所以基于以上分析在处理单点登录时Redis中的数据大概是 KeyValue用户1的JWT用户1的登录时IP地址、设备信息、权限列表用户2的JWT用户2的登录时IP地址、设备信息、权限列表 基于以上做法还可以更加【实时的】、有效的管理用户信息例如将用户的启用状态也存入到Redis中每次请求时都需要检查同时当用户的启用状态发生变化时更新Redis中的数据   关于以上问题的具体解决方案 接收客户端的登录请求时需要获取客户端的IP地址和设备信息浏览器信息例如 AdminController.java remoteAddr就是它的ip地址userAgent就是浏览器的设备信息然后传入service里面去。 当验证登录通过后将JWT作为Key把相关信息IP地址、浏览器信息、用户的权限列表、用户的启用状态等作为值存入到Redis中并且JWT中不再包含权限列表 AdminServiceImpl.java 以上jwt调整为只存入 id和用户名。 以上往redis里面去存专门准备了一个AdminLoginInfoPO对象   /*** 管理员登录信息的存储对象主要用于写入到Redis中** author javatedu.cn* version 0.0.1*/ Data public class AdminLoginInfoPO implements Serializable {/*** 管理员ID*/private Long id;/*** 管理员的启用状态*/private Integer enable;/*** 管理员登录时的IP地址*/private String remoteAddr;/*** 管理员登录时的浏览器版本*/private String userAgent;/*** 管理员的权限列表的JSON字符串*/private String authorityListJsonString;}时长是存入redis里面的有效时长。   在JwtAuthorizationFilter中当接收到JWT后基于此JWT从Redis中获取信息如果获取不到有效信息则此JWT视为无效的当可以获取到相关信息时检查此用户的状态检查IP地址、浏览器信息最终生成Authentication时权限也是来自Redis中读取到的数据   回头其他的管理员把这个号禁用了redis里面就因该把它改为0所以以下对它做一个检查如果0就是被禁用了从而去响应信息 最后以前的权限信息是从解析jwt来得调整为从redis获取对象解析得到authorities得到权限列表这个权限信息就用于去创建认证信息最后放在jwt里面 关于退出登录 以上通过RequestHeader注解就得到jwt了这个注解表示数据是来自请求头的。 以上把jwt删了后续就是一个不认的状态了退出登录就处理好了。 关于jwt过期的问题 在上面的代码中我们对jwt设置了过期的如果这个jwt过期了因该怎么办比如用户还在逛某宝是在没用的时候过期了去登录是合理的如果在逛的时候过期了需要登录就不合理。  解决办法是在解析jwt的时候是能得到剩余有效期的以下可以看出jwt包含过期时间所以我们可以制定一个标准临近过期时间就给它续上。

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

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

相关文章

电子政务门户网站建设教训综合性电商网站建设

if 语句后可以跟可选的 elsif ... else 语句,这对于使用单个if ... elsif语句测试各种条件非常有用。 if...elsif...else - 语法 Perl编程语言中的 if ... elsif...else语句的语法是- if(boolean_expression 1) {# Executes when the boolean expression 1 is tr…

南昌网站建设渠道全国被执行人名单查询

在 Vue 的组件通信中,slot(插槽)的编译优化是一个重要的性能提升点。以下是 Vue2 和 Vue3 在 slot 处理上的差异及优化原理,用更直观的方式解释: Vue2 的 Slot 更新机制 想象一个父子组件场景: 父组件&am…

2025.10.3 NOIP 模拟赛

前言 这回一改上次颓势。 T1一眼,T3思考2h+后场切。 但 T2 只有接近正解的 50 pts,T4 常数大挂了 20pts。 A 给定 \(n,k\),对 \([1,n]\) 建线段树后,求线段树上所有节点长度的 \(k\) 次方之和。 Solution 发现线段…

(最新原创毕设)基于SpringBoot的分布式存储平台/10.3(白嫖源码+演示录像)|可做计算机毕设Java、Python、PHP、小程序APP、C#、爬虫大数据、单片机、文案 - 指南

(最新原创毕设)基于SpringBoot的分布式存储平台/10.3(白嫖源码+演示录像)|可做计算机毕设Java、Python、PHP、小程序APP、C#、爬虫大数据、单片机、文案 - 指南pre { white-space: pre !important; word-wrap: nor…

Python 之操作excel

一、常用方法 Workbook():创建新的工作簿create_sheet():创建工作表 append():加入一行数据详细:https://openpyxl.readthedocs.io/en/stable/api/openpyxl.html 二、示例代码import openpyxl from openpyxl.style…

大语言模型中的“推理”:基本原理与构建机制解析

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

网站模板商城网站如何换空间

PFA洗气瓶是一种常用于净化和干燥各种气体的实验室器皿,以去除其中的水分、油脂、颗粒物等杂质,从而使需要用到的气体满足实验要求。 PFA气体吸收瓶 PFA洗气瓶的工作原理: 主要是通过液体吸收、溶解或发生化学反应来去除气体中的杂质。在洗气…

找产品做代理都有哪个网站国际军事新闻视频

今天跟大家谈一谈越来越火爆的店群模式,现在大部分做跨境电商的卖家都会建立自己的店群,其中很多做 Shopee的卖家时常会听到一个名词“ Shopee 店群模式”,但很多人都不知道怎么去做,或者在犹豫要不要做,所以东哥我会从…

国家生物信息数据下载

001、ascp -P33001 -i /home/data/t200558/NPCdata/HRA003340/aspera01.openssh -QT -l100m -k1 -d aspera01@download.cncb.ac.cn:gsa-human/HRA003340 ./

隆昌网站建设小程序哪家公司代理

一. 背景 在刚接触开发的头几年里,说实话,根本不考虑多线程的这个问题,貌似那时候脑子里也有没有多线程的这个概念,所有的业务都是一个线程来处理,不考虑性能问题,当然也没有考虑多线程操作一条记录存在的并…

装修网站怎么做的好网站后端开发语言

题目: Bessie听说有场史无前例的流星雨即将来临;有谶言:陨星将落,徒留灰烬。为保生机,她誓将找寻安全之所(永避星坠之地)。目前她正在平面坐标系的原点放牧,打算在群星断其生路前转…

站长查询工具网站建设功能定位

很多时候需要用到连续的id进行数据对比,如判断是否连续等问题。那么,生成连续整数的方式有多种,首先容易想到的是逐步循环,如果想生成1kw条记录,则需要循环1kw次进行插入,那么有没有其他方式呢,…

linux jenkins服务启动异常等,排查是否日志磁盘空间满 du df命令

linux jenkins服务启动异常等,排查是否日志磁盘空间满 du df命令linux jenkins服务启动异常等,排查是否日志磁盘空间满 du df命令 日志路径问题PM2默认日志路径为/root/.pm2/logs/,若该目录权限不足或磁盘空间已满会…

详细介绍:LeetCode 391 完美矩形

详细介绍:LeetCode 391 完美矩形pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco&q…

[NOI2025] 集合 题解

[NOI2025] 集合 题解去不了 NOI 的菜鸡终于把集合看懂了,写个博客加深一下印象。 [NOI2025] 集合 要求: \[ans=\sum_P \sum_Q [f(p)=f(Q)][P\cap Q = \emptyset] \prod_{i\in P\cup Q} a_i \]先处理这题比较特殊的 \…

网站模板下载百度云链接怎么做的crm管理系统定制

本文由云社区发表本文作者:许中清,腾讯云自研数据库CynosDB的分布式存储CynosStore负责人。从事数据库内核开发、数据库产品架构和规划。曾就职于华为,2015年加入腾讯,参与过TBase(PGXZ)、CynosDB等数据库产品研发。专注于关系数据…

做文案策划需要用到的网站化妆品网站设计

常量是一个特殊的符号,它有一个从不变化的值。定义常量符号时,它的值必须能在编译时确定。确定之后,编译器将常量的值保存到程序集的元数据中。这意味着只能为编译器认定的基元类型定义常量。在C#中一下类型都是基元类型,可用于定…

详细介绍:Linux 自定义shell命令解释器

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

bi数据报表发送周期,周报和月报获取日期时间

bi数据报表发送周期,周报和月报获取日期时间bi数据报表发送周期,周报和月报获取日期时间 1.今天是周四,获取上周四-本周三的日期,格式为yyyyMMddHHmmssString startTime = "";String endTime = "&q…