在SQL Server数据库中管理SAAS应用程序的用户



我正在开发一个SAAS应用程序,我想为我们的用户提供SSO。我们有客户和用户的概念。Client是注册的主管理员用户,Users表存储由主Client创建的用户。主客户端可以在其帐户下创建多个子用户。主客户端变为Admin用户,而所有子用户变为Normal用户。

当一个普通用户也注册为一个新的管理员用户时,问题就出现了。在这个场景中,我们有两个用户,他们的电子邮件地址相同,但角色不同,客户端ID不同。我可以有一个解决方案,要求用户在登录页面上以管理员或普通用户的身份登录,但我不想这样做

Username    Role      ClientID
--------    ----      --------
u1@e.com    Admin        1
u2@e.com    Normal       1
u3@e.com    Normal       1
u2@e.com    Admin        2
u3@e.com    Normal       2

在上表中,当u1@e.com尝试登录时,没有问题,因为它是Admin用户。当u2@e.com尝试登录时,系统会混淆是像ClientID 1的Normal登录还是像ClientID 2的Admin登录。

任何想法都将不胜感激。

用户必须指定要登录的客户端(租户(。一种方法是让每个客户端使用不同的URL访问系统。所以他们去

https://Client1.myapp.net/login

https://myapp.net/Client1/login

或者,当电子邮件在两者中注册时,您会为用户提供一点UI,让用户选择客户端。

最新更新