Ste*_*ven 7 spring spring-security spring-boot
如果我想支持 spring-security 的新/自定义授权方案,我应该OncePerRequestFilter像这样扩展BasicAuthorizationFilter吗?或者我应该从AbstractAuthenticationProcessingFilter像UsernamePasswordTokenFilter(和其他人)那样延伸?我想问这个问题的另一种方式是为什么不BasicAuthorizationFilter延伸自AbstractAuthenticationProcessingFilter?
小智 6
如果您想实现自定义身份验证方案,那么您应该使用AbstractAuthenticationProcessingFilter. attemptAuthentication(HttpServletRequest request, HttpServletResponse response)它提供了一种可用于编写自定义身份验证逻辑的方法。
Spring 提供了策略来继续不同类型的身份验证方案。因此如下身份验证过滤器:
BasicAuthorizationFilter用于 HTTP 基本授权标头身份验证。 AbstractAuthenticationProcessingFilter它可用于任何类型的自定义身份验证方案。所以我认为 Spring 已经提供了BasicAuthorizationFilter避免重新发明轮子的方法。例如 - 以下所有身份验证实现都是 的子类AbstractAuthenticationProcessingFilter。
OAuth2ClientAuthenticationProcessingFilter(Spring OAuth2)ClientCredentialsTokenEndpointFilter(Spring OAuth2)UsernamePasswordAuthenticationFilter(Web登录认证)| 归档时间: |
|
| 查看次数: |
2656 次 |
| 最近记录: |