跳到主要内容
版本:7.0.2

身份验证

DeepSeek V3 中英对照 Authentication

Spring Security 为身份验证提供了全面的支持。我们首先讨论整体的Servlet 身份验证架构。正如您可能预料的那样,本节内容较为抽象,主要描述架构,而不会过多讨论其如何应用于具体流程。

如果您愿意,可以参考认证机制了解用户进行身份验证的具体方式。这些章节重点介绍了您可能希望使用的特定认证方法,并会回溯到架构章节来说明具体流程的工作原理。

认证机制

章节总结

📄️ 记住我

记住我(Remember-me)或持久登录认证指的是网站能够在不同会话之间记住用户的身份。这通常通过向浏览器发送一个cookie来实现,该cookie在未来的会话中被检测到,从而触发自动登录。Spring Security为这些操作提供了必要的钩子,并提供了两种具体的记住我实现方式。一种使用哈希来确保基于cookie令牌的安全性,另一种则使用数据库或其他持久化存储机制来存储生成的令牌。

📄️ 匿名

通常认为,采用\"默认拒绝\"的安全策略是一种良好实践,即明确指定允许的内容并禁止其他所有内容。对于未认证用户可访问内容的定义也属于类似情况,这在Web应用中尤为常见。许多网站要求用户除少数特定URL(例如首页和登录页面)外必须通过身份验证才能访问。在这种情况下,为这些特定URL定义访问配置属性比逐个配置每个受保护资源更为简便。换言之,有时采用\"默认要求ROLE\_SOMETHING权限,仅允许特定例外(如应用程序的登录、注销和首页页面)\"的方式更为合理。虽然也可以将这些页面完全排除在过滤器链之外以绕过访问控制检查,但出于其他原因(特别是当这些页面针对已认证用户会呈现不同行为时),这种做法可能并不理想。