扫码阅读
手机扫码阅读

解锁Spring Security6:核心安全机制

46 2024-11-27

我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。

查看原文:解锁Spring Security6:核心安全机制
文章来源:
江南一点雨
扫码关注公众号
Spring Security 架构摘要

Spring Security 架构摘要

本文概述了 Spring Security 的架构,它处理了应用程序安全的两大问题:认证(身份验证)和授权(权限验证)。

一 认证

认证是确认用户身份的过程,Spring Security 通过 AuthenticationManager 接口来处理认证,该接口定义了单一的方法:

    public interface AuthenticationManager {
        Authentication authenticate(Authentication authentication)
            throws AuthenticationException;
    }
    

AuthenticationManager 可执行三种操作:

  • 验证有效用户并返回 Authentication 对象(标记为已认证)。
  • 若用户无效,则抛出 AuthenticationException
  • 无法决定时返回 null。

最常用的 AuthenticationManager 实现是 ProviderManager,它将认证委托给一系列 AuthenticationProvider 实例。

AuthenticationProvider 类似于 AuthenticationManager,但增加了一个方法来检查是否支持特定的 Authentication 类型:

    public interface AuthenticationProvider {
        Authentication authenticate(Authentication authentication)
            throws AuthenticationException;
        boolean supports(Class authentication);
    }
    

supports() 方法使用的 Class 参数实际上是 Class<? extends Authentication>,用于确定是否支持特定的认证类型。

想要了解更多内容?

查看原文:解锁Spring Security6:核心安全机制
文章来源:
江南一点雨
扫码关注公众号