SpringSecurity的执行原理:当我们服务端接收到请求后,首先通过DelegatingFilterProxy代理对象交互,转发给springsecurity的执行链,由于他自带的执行链有16条,我们将不用的过滤器进行了排除,同时加入了我们自定义的过滤器,token全局过滤器,先判断token是否被篡改或过期,然后对token进行解析,将负载中的角色存储在SecurityContext上下文中,对加有@PreAuthorize注解的方法进行判断,如果我们上下文中的角色包含注解中的角色,则执行请求,否则抛出异常,返回403权限不足。
相关推荐
代码什么用7 小时前
Spring基础使用Su米苏8 小时前
Spring AI 中MCP 与普通 @Tool的区别码云数智-园园8 小时前
unique_ptr 还是 shared_ptr?C++ 智能指针选型与内存泄漏实战分析老板一杯拿铁8 小时前
Java 异常体系详解:从字节码原理到最佳实践蜗牛互联网8 小时前
Java 17 HttpClient调用文件转写API的超时与失败回退禾小西9 小时前
07丨Redis 哨兵机制:主库故障后,如何恢复服务?我不是阵雨9 小时前
JDK 21虚拟线程Pinning陷阱:一文拔钉解困小卡车5559 小时前
java反射、自定义注解的应用(自定义分页)BLUcoding10 小时前
接口服务公网超时排查记录:SecureRandom 阻塞问题分析与解决yuniko-n10 小时前
【JUC】Lock 和 synchronzied 锁