弹簧身份验证提供程序 VS 身份验证处理筛选器
2022-09-02 12:38:43
spring 身份验证提供程序和身份验证处理筛选器也需要向 authenticationManager 注册?
身份验证提供程序 i 可以使用自定义身份验证提供程序标记
但是什么是不同的弹簧身份验证提供程序和身份验证处理过滤器?
spring 身份验证提供程序和身份验证处理筛选器也需要向 authenticationManager 注册?
身份验证提供程序 i 可以使用自定义身份验证提供程序标记
但是什么是不同的弹簧身份验证提供程序和身份验证处理过滤器?
身份验证管理器使用所有身份验证提供程序对身份验证进行身份验证,这会导致它必须进行身份验证。
身份验证处理筛选器仅添加一个令牌(用户名密码)。其他筛选器也会添加令牌。例如,AnonymousProcessingFilter。
这个想法是将令牌生成与令牌身份验证分开。通过这种方式,您可以轻松实现针对多个源的身份验证之类的内容。
常规情况是每个令牌生成器一个提供程序。
根据Spring Security Architecture,该过程是:
请参阅此处的示例:筛选器正在调用提供程序管理器以查找支持此身份验证的提供程序,如果是,则进行身份验证
在这里,您可以找到有关如何实现自定义筛选器的一个很好的例子:自定义筛选器@Baeldung
请注意,仅当筛选器的编码方式如此时,筛选器才会调用提供程序管理器或提供程序。没有规则可以强制执行。