gpt4 book ai didi

grails - Grails应用程序中基于租户的唯一用户名

转载 作者:行者123 更新时间:2023-12-02 13:51:29 24 4
gpt4 key购买 nike

我正在开发一个应用程序,该应用程序有多个公司作为我们的客户,每个公司下都有多个用户访问我们的应用程序。

因此,我构造了用户表,以将所有公司的用户保存在同一表中,并将company_id作为列-

class User {
String username
String password

static belongsTo = [company:Company]

static constraints = {
username blank: false
password blank: false
}
}

在这个应用程序中,我自定义了spring安全性以基于 usernamepasswordcomapany 3个字段对用户进行身份验证。因此,如果在Org1和Org2公司中有两个用户ABC,则将正确识别它们。

现在,如果我在 unique: true上应用 username的约束,则该约束将应用于整个表,并且无论他们是否在两个不同的公司上,它都不允许我保存两个用户的ABC。
(PS-我了解约束基于表,请进一步阅读)。

现在的主要问题是我想根据公司而不是根据用户表使 username唯一。怎么做?是否存在可用于检查用户名是否存在于公司中的预定义约束?还是如果用户名已经在公司中退出,则每次注册时都必须进行检查?

最佳答案

您可以尝试使用多列约束(请参阅http://www.grails.org/doc/latest/ref/Constraints/unique.html)

您的用户名约束看起来像这样:

 username blank: false, unique: 'company'

关于grails - Grails应用程序中基于租户的唯一用户名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28473250/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com