![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
spring security
文章平均质量分 82
Graon程序猿
码途
展开
-
spring security (四) 授权基本流程
在FilterSecurityInterceptor中会从SecurityContextHolder获取其中的Authentication,然后获取其中的权限信息,判断当前用户是否拥有访问当前资源所需的权限。:是受保护资源的访问策略(要访问当前资源所需要的权限),通过SecurityMetadataSource获取。获取放行路径,匹配当前路径命中,这里的路径是HttpSecurity配置的放行路径;通过传递的参数来决定用户是否有访问对应受保护资源的权限。匹配的路径也是存在规则的,如下是我的配置。原创 2023-08-09 10:04:25 · 155 阅读 · 0 评论 -
spring security (三)认证源码详解
这里默认的provider会调用AbstractUserDetailsAuthenticationProvider.authenticate,如果我们自己定义的就会调用我们定义的认证方法。寻找我们跟我们传进来的grantType相同的认证方式,当然就是我们的ResourceOwnerPasswordTokenGranter。这里的this.delegate是CompositeTokenGranter.grant,现在传进来的是我们默认的我种认证方式。首先我们看一下TokenGranter的实现类。原创 2023-08-09 10:03:37 · 438 阅读 · 0 评论 -
spring security (二) 认证核心类
被用作验证用户凭证的基础 Filter。在认证凭证之前,Spring Security 通常通过使用来请求凭证。接下来,AbstractAuthenticationProcessingFilter 可以对提交给它的任何认证请求进行认证。当用户提交他们的凭证时,AbstractAuthenticationProcessingFilter 会从 HttpServletRequest 中创建一个要认证的。原创 2023-08-09 10:02:10 · 144 阅读 · 0 评论 -
spring security (一) Filter(过滤器)
大多数情况下,默认的 security filter 足以为你的应用程序提供安全。然而,有时你可能想在 security filter chain 中添加一个自定义的 filter。例如,假设你想添加一个 Filter,获得一个租户 id header 并检查当前用户是否有访问该租户的权限。前面的描述已经给了我们一个添加 filter 的线索,因为我们需要知道当前的用户,所以我们需要在认证 filter 之后添加它。原创 2023-08-09 10:01:09 · 546 阅读 · 0 评论