如何在CustomAuthenticationProvider中从前端获取对其他帖子参数的访问权限,从而扩展DaoAuthenticationProvider。
在使用Spring身份验证登录时,需要在我的CustomAuthenticationProvider中基于附加检查参数执行逻辑实现。
先谢谢!!
答案 0 :(得分:0)
我们需要更多细节才能给出完整的答案。但这是一般的想法:
AuthenticationProvider
是(并且应该保留)不知道网络上下文。它们用于验证Authentication
对象,它们可以(并且应该)在Web应用程序中运行,如在EE或桌面应用程序中。UsernamePasswordAuthenticationToken
的子类),它将保存您的新/自定义属性,让我们使用新属性CustomToken
将其称为customProp
1}}(你应该选择更有意义的名字:))UsernamePasswordAuthenticationFilter
子类化,以便能够访问请求参数并在Authentication对象中放置您需要的内容:setDetails
中的方法UsernamePasswordAuthenticationFilter
正是为了满足需求,因此只是覆盖子类中的方法。别忘了配置在spring security config中使用的新子类而不是UsernamePasswordAuthenticationFilter
CustomToken
,并从该身份验证对象中检索添加的属性(customProp
)。