[译]Spring Security 面试问题
本面试准备指南将讨论一些常见的 Spring Security 面试问题。无论您是准备面试还是只是想增强对 Spring Security 的了解,这些问题都将帮助您理解关键概念并指导您设计常见安全问题的解决方案。
本面试准备指南将讨论一些常见的 Spring Security 面试问题。无论您是准备面试还是只是想增强对 Spring Security 的了解,这些问题都将帮助您理解关键概念并指导您设计常见安全问题的解决方案。
免责声明:Spring Security 5+ 已发布 OAuth JWT 支持。建议使用最新版本的 OAuth 来支持 JWT,而不是使用自定义安全性或过滤器。
在本教程中,我们将重点关注使用 @Async
传播 Spring Security 主体
默认情况下,Spring Security 身份验证绑定到 ThreadLocal
- 因此,当执行流在带有 @Async
的新线程中运行时,它不会是经过身份验证的上下文。
在 Spring Security 模块的上下文中,WebSecurityConfigurerAdapter 是一个抽象类,根据 Spring 官方网站 2022 年 2 月 21 日发布的公告,该类已从 Spring Security 5.7.0-M2 中弃用。它通常用于扩展 configure() 方法由自定义配置子类实现。因此,它鼓励用户转向基于组件的安全配置。为了支持对这种新配置设计的更改,我们将讨论常见用例列表和未来建议的替代方案。因此,我们将讨论没有 WebSecurityConfigurerAdapter 的 Spring Security 用例的实现。
继续上一篇关于实现 Spring Security 的两种不同方法的文章,在本文中,我们将学习第三种方法“如何使用 UserDetailsService 在 Spring Boot 中实现 Security?”。经过上一篇文章后,我希望我们都非常熟悉安全性的基础知识,甚至是 Spring Boot 应用程序中的安全性基础知识。这次我们将创建一个用户注册表并将用户及其角色保存到数据库中。
JSON Web Token 或 JWT(更常见的名称)是一种开放的互联网标准 (RFC 7519),用于以紧凑的方式在各方之间安全地传输可信信息。令牌包含编码为 JSON 对象的声明,并使用私有密钥或公钥/私钥对进行数字签名。它们是独立且可验证的,因为它们经过数字签名。 JWT 可以进行签名和/或加密。