SpringSecurity的执行原理:当我们服务端接收到请求后,首先通过DelegatingFilterProxy代理对象交互,转发给springsecurity的执行链,由于他自带的执行链有16条,我们将不用的过滤器进行了排除,同时加入了我们自定义的过滤器,token全局过滤器,先判断token是否被篡改或过期,然后对token进行解析,将负载中的角色存储在SecurityContext上下文中,对加有@PreAuthorize注解的方法进行判断,如果我们上下文中的角色包含注解中的角色,则执行请求,否则抛出异常,返回403权限不足。
相关推荐
持力行1 小时前
C++与Java变量声明、定义及内存分配的核心区别接着奏乐接着舞3 小时前
大模型开发 agent 知识库xuhaoyu_cpp_java3 小时前
SpringBoot学习(四)plainGeekDev4 小时前
kapt 替换为 KSP蜡台4 小时前
通过Gradle脚本声明更改Java变量程序员天天困4 小时前
后端视角看 EventBus:发布订阅总线的原理、场景与用法要开心吖ZSH4 小时前
AI医疗分诊与健康咨询助手agent开发——(4-2)从零到一:我给AI医疗分诊助手加了个“知识库大脑“,终于搞懂了RAG是什么AI人工智能+电脑小能手5 小时前
【大白话说Java面试题 第179题】【07_Redis篇】第15题:什么是 Redlock 算法?怎么比啊都是大神6 小时前
关于==null、isEmpty()和StrUtil.isBlank()唐青枫6 小时前
Java Neo4j 实战指南:从图模型、Cypher 到 Spring Boot 关系查询