我想知道是否可以在 spring 身份验证管理器之前执行自定义处理程序。我想在用户访问系统之前验证用户的许可证。最初我编写自定义过滤器并在调用身份验证管理器之前执行它,但在这种情况下,由于他没有经过身份验证,他将无法访问某些资源,但后来我将我的代码移动到 spring 的 sucessHandler 工作正常,除了它有一些安全问题,例如如果在多个选项卡中打开它会失败。
非常感谢任何帮助。
谢谢,布里杰什
我想知道是否可以在 spring 身份验证管理器之前执行自定义处理程序。我想在用户访问系统之前验证用户的许可证。最初我编写自定义过滤器并在调用身份验证管理器之前执行它,但在这种情况下,由于他没有经过身份验证,他将无法访问某些资源,但后来我将我的代码移动到 spring 的 sucessHandler 工作正常,除了它有一些安全问题,例如如果在多个选项卡中打开它会失败。
非常感谢任何帮助。
谢谢,布里杰什
我认为您正在寻找的是添加一个 Spring AuthenticationProvider。简而言之,一个 AuthenticationManager 有一个 AuthenticationProviders 列表,每个 AuthenticationProviders 都是按顺序查询的。Spring Security 中 Multiple Authentication Providers 的问答对此有很好的解释。Spring 文档还解释了各种组件如何组合在一起。