繁体   English   中英

使用Grails Spring Security插件登录的其他字段

[英]Additional field in login using Grails Spring Security plugin

我的问题与此类似

如何在Spring Security登录页面中传递附加参数

尽管适用于Grails Spring Security插件。 如果我必须在登录名(公司名称)中支持其他字段,如何在Grails中做到这一点?

我将从URL获得公司名称字段。

例如。 / login?companyname = c1 / login?companyname = c2

同一用户名可由不同公司的不同用户使用。 因此,用户名不是唯一的,但用户名+公司名称是唯一的。

提前致谢。

这不是很好的解决方案,但是您可以将用户名和公司名称加入单个用户名字段。 例如oneUser_company1oneUser_company2 在这种情况下,您将必须为单个用户创建多个帐户。

我认为此自定义过滤器是一个起点。

您可能需要一个自定义AuthenticationToken来存储您的公司名称,而不是使用UsernamePasswordAuthenticationToken

您还将需要AuthenticationProvider ,因为您将需要通过用户名和公司来获取用户。

流程将是:

  • Filter将创建您的自定义AuthenticationToken ,并存储公司字段。
  • 您的自定义AuthenticationProvider将获得此令牌,并尝试按用户名和公司加载用户
  • Spring Security Core将检查您的密码

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM