扫码阅读
手机扫码阅读
Spring Security6 全新写法,大变样!
42 2024-11-06
我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。
文章来源:
江南一点雨
扫码关注公众号
松哥宣布TienChin项目视频杀青,这是一个基于Spring Boot和Vue3技术栈的项目,涉及多种技术,目标是完成一个完成率超过90%的项目。
最新版本的Spring Security在配置上有所变化,许多常用方法已废弃并将在未来的Spring Security 7中移除。松哥更新了去年的文章,加入了新的内容,供使用Spring Security的开发者参考。
重要的变化包括:
- WebSecurityConfigurerAdapter: 这个类在Spring Security 6.1中已移除,原因是官方鼓励使用基于组件的安全配置。配置方法现在需要通过定义SecurityFilterChain和WebSecurityCustomizer beans来实现。
- AuthenticationManager的获取: 以前可以通过重写父类方法获得,现在必须自己创建。
具体例子说明了如何建立一个新的Spring Boot工程,并演示了如何自定义用户和绕过Spring Security过滤器链。
其它变更:
- 使用Lambda表达式: 许多链式配置方法已废弃,推荐使用基于Lambda的配置方法。
- 自定义JSON登录:Spring Security默认的登录接口数据格式是key-value形式,如果想使用JSON格式来登录,需自定义过滤器或登录接口。
Spring Boot3.x(Spring Security6)之后,自定义JSON登录的方式出现了问题,登录后再访问其他页面时系统不认为用户已经登录。这是因为SecurityContextPersistenceFilter过滤器在新版本中被SecurityContextHolderFilter取代,后者在处理完请求后不会将SecurityContext保存到HttpSession。
解决上述问题的方案是在自定义过滤器或登录接口中确保用户信息被存储到HttpSession中。
TienChin项目的配套视频也已发布,为有兴趣的开发者提供了实操机会。
想要了解更多内容?
文章来源:
江南一点雨
扫码关注公众号
江南一点雨的其他文章
加入社区微信群
与行业大咖零距离交流学习
软件研发质量管理体系建设
白皮书上线