spring boot
共 3 篇文章
Spring Security JWT认证完整实现
本文介绍了基于Shiro和JWT实现无状态认证与权限控制方案。与传统Session方案相比,JWT通过将用户信息加密存储在客户端token中,解决了分布式系统中Session共享、跨域和横向扩展难题。方案采用以下核心实现: 1. **架构设计**:采用Shiro处理权限逻辑,JWT承载用户身份信息。自定义`Oauth2Token`继承`AuthenticationToken`适配Shiro认证流程,通过`Oauth2Filter`拦截请求解析JWT 2. **关键实现**: - 使用Redis存储会话状态,结合IP和用户标识实现安全控制 - JWT工具类提供token生成验签功能,包含压缩和HMAC-SHA512加密 - Shiro配置禁用session机制,通过`StatelessDefaultSubjectFactory`实现无状态Subject - 过滤器链动态管理,支持跨域请求处理和token刷新机制 3. **主要特点**: 🔸 分布式兼容性:通过token传递身份信息,无需Session共享 🔸 安全增强:结合IP地址进行会话校验,支持自动刷新过期token 🔸 扩展灵活:支持动态调整权限过滤规则 方案依赖Spring Boot生态技术栈,包含JWT验证、Redis缓存、Swagger文档等功能模块。完整实现包含自定义Realm、安全配置和异常处理等组件,适用于构建现代化前后端分离架构的权限系统。
Spring IOC与AOP源码解析
本文深入解析了Spring框架的核心组件IOC与AOP的原理与实践。Spring通过IOC(控制反转)实现对象依赖管理,以BeanFactory和ApplicationContext容器为核心,通过XML配置定义Bean及其依赖关系,并支持单例、原型等作用域。依赖注入(DI)使组件解耦,提升灵活性。AOP(面向切面编程)分离横切关注点(如日志、事务),Spring采用代理模式(JDK动态代理或CGLIB)实现切面织入,支持前置、后置等增强类型,广泛用于监控、安全等场景。文章结合配置示例与代码片段,阐述了Spring如何通过IOC解耦对象、AOP模块化横切逻辑,帮助开发者高效构建可维护的Java企业级应用。
Shiro与JWT整合实现分布式认证
本文介绍了在分布式系统中使用Shiro进行权限控制,结合JWT替代Session解决跨域和集群认证问题,包含核心代码实现和配置示例。