启动此模型的概念验证似乎无法按请求将成员资格提供程序配置到相应的客户端数据库。 Web应用程序似乎在应用程序启动时实例化成员资格提供程序,并且在后续请求期间不允许对此进行修改。
我尝试在Application_BeginRequest(在global.aspx中)中使用反射和修改连接字符串,但似乎成员资格提供程序的设计和实现仅针对每个应用程序而不是每个请求初始化一次。
这意味着对于单独的数据库方法,默认的asp.net成员资格提供程序不能使用单个应用程序/多个数据库(多租户单独数据库)模型。
人们在此架构中使用哪种身份验证/授权模型?他们使用Microsoft成员资格提供程序的自定义实现,还是使用不同的程序包或库?
干杯 添
答案 0 :(得分:0)
对于多租户应用程序开发方案,最优选的是SSO或使用自定义配置文件管理系统。
为了使用数据库启用基于租户的身份验证,您可以拥有一个连接字符串管理器,它根据公司代码或URL等一些条件标识您的租户,然后使用该数据库中的用户登录数据对于那个租户的用户。
用法就像您从登录凭据中识别/推断租户代码,然后选择可用于该租户的数据库,然后针对此数据库对用户进行身份验证。因此,租户可以拥有自己的数据库进行用户身份验证。
这是可行的,也可以符合不同租户根据其地理位置的监管要求。