我的问题类似于这个问题
How to pass an additional parameter with spring security login page
虽然它适用于Grails Spring Security插件。如果我必须在登录(公司名称)中支持其他字段,我该如何在Grails中执行此操作?
我将从网址获取公司名称字段。
例如。 /登录信息?公司名称= C1 /登录信息?公司名称= C2
不同公司的不同用户可以使用相同的用户名。因此,用户名不是唯一的,但用户名+公司名称是唯一的。
先谢谢。
答案 0 :(得分:0)
这不是一个很好的解决方案,但您可以将用户名和公司名称加入单个用户名字段。例如oneUser_company1
,oneUser_company2
。在这种情况下,您必须为单个用户创建多个帐户。
答案 1 :(得分:0)
我认为this custom filter是一个起点。
您可能需要使用自定义AuthenticationToken
来存储公司名称,而不是使用UsernamePasswordAuthenticationToken
。
您也需要AuthenticationProvider,因为您需要通过用户名和公司来获取您的用户。
流程将是:
AuthenticationToken
,存储公司字段。AuthenticationProvider
将获得此令牌,并尝试按用户名和公司