json login on spring security



我正在构建一个基于spring的REST后端,我正在使用spring安全性来保护请求。但是我正在寻找通过发送 json 中的参数而不是由 spring 安全的默认登录页面发送的默认参数来登录的问题。

我正在使用弹簧安全 4.0.1 和弹簧 4.1

请问有什么问题吗?

如果您只使用用户名和密码,您可以简单地向堆栈添加新的过滤器,类似于现有的UsernamePasswordAuthenticationFilter,该过滤器仅对特定 URL 做出反应(就像默认的 URL 仅对j_spring_security_check做出反应一样(,解析 JSON 并创建与默认过滤器创建的完全相同的UsernamePasswordAuthenticationToken。这使身份验证提供程序与令牌未更改相同。

如果除了用户名和密码之外还需要更多字段,请创建新的令牌类型(或者如果有意义,请使用现有令牌类型(和可以处理该令牌类型的新身份验证提供程序。您也可以使用 setDetails() 将额外的字段塞入UsernamePasswordAuthenticationToken,但这有点笨拙。

最新更新