我正在构建基于spring的REST后端,并且我使用spring security来保护请求。但是我通过在json中发送参数而不是弹簧安全的默认登录页面发送的默认参数来查找登录问题。
我正在使用spring security 4.0.1和spring 4.1
有任何问题吗?
答案 0 :(得分:0)
如果您只使用用户名和密码,则只需向堆栈添加一个新过滤器,类似于现有的UsernamePasswordAuthenticationFilter
,它只对特定的URL作出反应(就像默认的一样)仅响应j_spring_security_check
,解析JSON并创建与默认过滤器创建的UsernamePasswordAuthenticationToken
完全相同的UsernamePasswordAuthenticationToken
。这使得auth提供者与令牌没有改变相同。
如果除了用户名和密码之外还需要更多字段,请创建新的令牌类型(如果有意义,则使用现有的令牌)和可以处理该令牌类型的新的身份验证提供程序。您也可以使用setDetails()
将额外的字段填入rendering
,但这有点笨拙。