在 SQL 服务器数据库中管理 SAAS 应用程序的用户

Manage users for SAAS applications in SQL Server database

我正在开发一个 SAAS 应用程序,我想在其中为我们的用户提供 SSO。我们有客户和用户的概念。 Client是注册的主admin用户,Userstable存储主Client创建的用户。一个主客户可以在其账户下创建多个子用户。主客户端变为管理员用户,所有子用户变为普通用户。

当普通用户也注册为新的管理员用户时,问题就出现了。在这种情况下,我们有 2 个用户具有相同的电子邮件地址但不同的角色和不同的 ClientID。我可以解决这个问题,要求用户在登录页面上以管理员或普通用户身份登录,但我不想这样做。 table 表示示例如下所示 -

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

在上面的table中,当u1@e.com尝试登录时,没有问题,因为它是管理员用户。当 u2@e.com 尝试登录时,系统会混淆,对于 ClientID 1 是正常登录,对于 ClientID 2 是管理员登录。

如有任何想法,我们将不胜感激。

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

https://Client1.myapp.net/login

https://myapp.net/Client1/login

或者您提供一些 UI 供用户在两者中注册电子邮件时选择客户端。