1

开始对此模型进行概念验证,似乎无法根据对相应客户端数据库的请求配置成员资格提供程序。Web 应用程序似乎在应用程序启动时实例化了成员资格提供程序,并且不允许在后续请求期间对此进行修改。

我曾尝试使用反射并修改 Application_BeginRequest (在 global.aspx 中)中的连接字符串,但似乎成员资格提供程序的设计和实现只为每个应用程序而不是每个请求初始化一次。

这意味着对于单独的数据库方法,默认的 asp.net 成员资格提供程序不会与单应用程序/多数据库(多租户单独数据库)模型一起使用。

人们在这个架构中使用什么身份验证/授权模型?他们是使用 Microsoft 成员资格提供程序的自定义实现,还是使用不同的包或库?

干杯蒂姆

4

1 回答 1

0

在多租户应用程序开发场景中,最好使用 SSO 或使用自定义配置文件管理系统。

为了让您使用数据库启用基于租户的身份验证,您可以拥有一个连接字符串管理器,该管理器根据公司代码或 URL 等一些标准来识别您的租户,然后使用该数据库中的用户登录数据为该租户的用户。

用法就像您从登录凭据中识别/推断租户代码,然后选择可用于该租户的数据库,然后针对该数据库对用户进行身份验证。因此,租户可以拥有自己的数据库来进行用户身份验证。

这是可行的,并且还可以符合基于其地理位置可能针对不同租户的监管要求。

于 2013-04-28T17:35:12.760 回答