Spring Security
文章平均质量分 85
雾里挑灯看剑️
点滴积累,你会发现有大大的进步。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
but 2 were found: - userDetailsService: defined in file [/xxx],- userDetailServiceImpl: define...的解决
本文解决了Spring Boot多模块项目中UserDetailsService实现类冲突的问题。通过使用@ConditionalOnProperty注解,根据配置文件中的app.module属性值(users或system)来条件化加载不同的UserDetailsService实现类。在users模块中配置app.module:users,在system模块中配置app.module:system,确保每个模块运行时只加载对应的UserDetailsService实现,避免了Bean冲突。这种方案既保持了原创 2026-05-16 15:00:07 · 209 阅读 · 0 评论 -
Spring Security 与 Spring MVC
Spring Security采用过滤器链机制,在请求到达DispatcherServlet前完成认证授权工作。认证流程包括JWT令牌提取、验证、用户信息加载和上下文存储。授权阶段通过FilterSecurityInterceptor检查权限,未通过时返回401/403错误。最佳实践包括:严格区分公开/私有接口、分离异常处理职责、采用无状态JWT认证、禁用CSRF、密码加密存储等。关键原则是安全优先,避免为显示404而绕过安全验证,防止API结构泄露。测试404时应使用有效令牌,确保异常处理器正常工作。原创 2026-04-10 11:43:48 · 419 阅读 · 0 评论 -
Spring的构造器注入及@Autowired、lombok的@RequiredArgsConstructor的异同点 理论
Spring构造器注入机制解析:Spring通过"类型匹配+名称兜底"策略寻找构造器参数,首先扫描注册所有Bean,然后按参数类型匹配容器中的Bean。与@Autowired字段注入相比,构造器注入具有依赖强制性强、线程安全、提前暴露问题等优势。在最佳实践中,推荐为必需依赖添加final修饰,保证不可变性和线程安全。虽然可以使用@RequiredArgsConstructor简化代码,但手动编写构造器能更清晰地展示依赖关系。Spring官方推荐构造器注入方式,因其能提高代码的可靠性、可维原创 2026-02-26 17:59:56 · 1108 阅读 · 0 评论 -
SS中的CSRF,passwordEncoder,authenticationProvider,authenticationManager,securityFilterChain几个概念及调用时机
spring security的CSRF,passwordEncoder,authenticationProvider,authenticationManager,securityFilterChain几个概念及调用时机原创 2026-02-25 17:37:41 · 967 阅读 · 0 评论 -
spring security 简单使用
本文介绍了如何创建一个基于Spring Security的登录注册示例项目。主要内容包括:1) 创建Maven项目并配置pom.xml依赖,引入Spring Boot、Spring Security、Thymeleaf等核心组件;2) 配置安全过滤器链,设置URL访问权限、表单登录和注销功能;3) 使用InMemoryUserDetailsManager实现内存用户存储,预置测试用户(user/password);4) 提供注册功能页面,支持新用户注册;5) 说明高版本(5.7+)使用SecurityFil原创 2025-09-19 15:54:22 · 447 阅读 · 0 评论 -
认证(Authentication)和授权(Authorization)(理论)
本文对比了Shiro和SpringSecurity在认证与授权方面的实现差异。Shiro采用简洁的三层架构(Subject+SecurityManager+Realm),认证流程直观,授权支持角色和权限两种粒度,适合中小型项目。SpringSecurity基于过滤器链实现,深度集成Spring生态,支持多种认证方式,授权机制更灵活但配置复杂,适合大型项目。核心差异体现在架构设计、集成性、认证方式支持度和授权灵活性等方面,开发者可根据项目规模和安全需求进行选择。原创 2025-09-18 16:33:20 · 1825 阅读 · 0 评论
分享