什么是 Spring Security

5/17/2022 后端Spring

目录:


参考链接:https://www.cnblogs.com/crazymakercircle/p/14488160.html (opens new window)


# 什么是 Spring Security ?

​ Spring Security 是一套安全框架,可以基于RBAC(基于角色的权限控制)对用户的访问权限进行控制,核心思想是通过一系列的 filter chain 来进行拦截过滤,对用户的访问权限进行控制。

​ Spring Security 的核心功能主要包括:

  • 认证 (你是谁)
  • 授权 (你能干什么)
  • 攻击防护 (防止伪造身份)

​ Spring Security 的核心实现是一组过滤器链,项目启动后将会自动配置。最核心的就是 Basic Authentication Filter 用来认证用户的身份。

img

理解:Username Password Authentication Filter 会检查是否是一个登录请求、是否包含username 和 password (即该过滤器需要的一些认证信息) ,如果不满足则放行给下一个 Basic Authentication Filter。Basic Authentication Filter 按照自身职责判定是否是自身需要的信息,basic 的特征就是在请求头中有 、Authorization:Basic eHh4Onh4 的信息。这之后的中间可能还有更多的认证过滤器。最后一环是 FilterSecurityInterceptor,这里会判定该请求是否能进行访问 REST API,判断的依据是 BrowserSecurityConfig 中的配置,如果被拒绝了就会根据具体的原因抛出不同的异常。Exception Translation Filter 会捕获抛出的异常,然后根据不同的认证方式进行信息的返回提示。

注意:绿色的过滤器可以配置是否生效,其他的都不能控制。

上次更新时间: 9/4/2023, 7:55:06 PM