有没有办法将 URL 参数传递给 Spring Security 3 中的身份验证提供程序?
我们的登录页面需要接收一个电子邮件令牌作为身份验证系统在设置用户状态时需要注意的参数。具体来说,它将让具有正确令牌的用户登录,否则将无法登录。
我有一个扩展 DaoAuthenticationProvider 类的自定义类。我的身份验证逻辑在该类的身份验证方法中。
我希望有某种方法可以将这些数据传递给身份验证方法。
有没有办法将 URL 参数传递给 Spring Security 3 中的身份验证提供程序?
我们的登录页面需要接收一个电子邮件令牌作为身份验证系统在设置用户状态时需要注意的参数。具体来说,它将让具有正确令牌的用户登录,否则将无法登录。
我有一个扩展 DaoAuthenticationProvider 类的自定义类。我的身份验证逻辑在该类的身份验证方法中。
我希望有某种方法可以将这些数据传递给身份验证方法。
您可以在身份验证提供程序类上注入 HttpServletRequest 对象:
private @Autowired HttpServletRequest request;
现在,您应该能够使用 API 访问请求参数,例如request.getParameterValues(paramName)
您需要UsernamePasswordAuthenticationFilter.setDetails()
通过details
.UsernamePasswordAuthenticationToken