目前是否可以配置Spring Security,如果有登录请求,它会首先检查请求然后使用特定的AuthenticationProviders列表?
示例:
我有两种登录请求,一种使用电子邮件和手机号码。该请求带有客户端ID。它首先检查客户端ID是什么,并将请求路由到特定的AuthenticationProviders列表。
应该在哪里应用这个逻辑?我尝试扩展AbstractAuthenticationProcessingFilter,但我无法选择使用哪个AuthenticationProviders,因为它从AuthenticationManager获取列表。
可以改为使用多个AuthenticationManager吗?
修改
我在这里尝试了chaoluo的评论是什么阻止了我。
时,我无法检查身份验证对象的内容
boolean supports(Class<?> authentication)
被调用。我不知道它是否可能,因为我对Reflection的知识有限。
我正在尝试为每个成功的身份验证实现,响应将根据客户端ID而不同。
我不知道在哪里放置我的逻辑,但是这里列出了我认为应该有效但仍然觉得有更好的方法。
欢迎任何建议。
验证请求 - &gt;尝试进行身份验证 - &gt;根据客户端ID返回响应。