Spring Security将URL参数传递给Authentication Provider
有没有办法将URL参数传递给Spring Security 3中的身份validation提供程序?
我们的登录页面需要接收电子邮件令牌作为身份validation系统在设置用户状态时需要注意的参数。 具体来说,它将允许具有正确令牌登录的用户无法以其他方式登录。
我有一个扩展DaoAuthenticationProvider类的自定义类。 我的身份validation逻辑在该类的身份validation方法中。
我希望有一些方法可以将这些数据传递给authenticate方法。
您可以在身份validation提供程序类上注入HttpServletRequest对象:
private @Autowired HttpServletRequest request;
现在,您应该能够使用API(例如request.getParameterValues(paramName)
访问请求参数
您需要覆盖UsernamePasswordAuthenticationFilter.setDetails()
并通过UsernamePasswordAuthenticationToken
details
属性将额外信息传递给您的自定义身份validation提供程序。
- Spring需要一个’AuthenticationManager’类型的bean
- 管理身份validation令牌的最佳做法
- 即使在SpringMVC中包含密钥库证书后,也无法对服务器进行身份validation
- HTTPS URL的基本代理身份validation返回HTTP / 1.0 407需要代理身份validation
- Spring Security 4.0.0 + ActiveDirectoryLdapAuthenticationProvider + BadCredentialsException PartialResultException
- 如何在SNMP4J中使用非对称密钥或证书身份validation?
- Spring安全切换到Ldap身份validation和数据库权限
- 将自定义AuthenticationProcessingFilter与一起使用(auto-config =“true”)
- 无需身份validation即可在javax.mail中发送邮件