Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将单个DB ASP.NET站点转换为多租户-成员资格和角色困境_Asp.net_Vb.net_Roles_Membership_Provider Model - Fatal编程技术网

将单个DB ASP.NET站点转换为多租户-成员资格和角色困境

将单个DB ASP.NET站点转换为多租户-成员资格和角色困境,asp.net,vb.net,roles,membership,provider-model,Asp.net,Vb.net,Roles,Membership,Provider Model,我正在将单个SQL DB网站(ASP.NET/VB.NET)更改为多租户应用程序,其中每个客户端都有自己的数据库 在旧站点中,所有ASP角色、登录名和提供程序都指向单个数据库 现在我们有了多个数据库,我想知道最好的体系结构/技术是什么。有一个数据库可以配置租户,例如公司名称、各种设置(通常在web.config中)以及到租户数据库的连接字符串 我们应该在配置租户的单个数据库中拥有所有成员资格和角色,还是在每个租户数据库中拥有成员资格和角色?选项2看起来很棘手,因为我认为ASP.NET只喜欢web

我正在将单个SQL DB网站(ASP.NET/VB.NET)更改为多租户应用程序,其中每个客户端都有自己的数据库

在旧站点中,所有ASP角色、登录名和提供程序都指向单个数据库

现在我们有了多个数据库,我想知道最好的体系结构/技术是什么。有一个数据库可以配置租户,例如公司名称、各种设置(通常在web.config中)以及到租户数据库的连接字符串

我们应该在配置租户的单个数据库中拥有所有成员资格和角色,还是在每个租户数据库中拥有成员资格和角色?选项2看起来很棘手,因为我认为ASP.NET只喜欢web.config中定义的一组角色提供程序


以前是否有人尝试过此方法或得到过任何建议?

如果您正在使用ASP.Net成员资格模型和内置提供程序,则将其放入一个数据库是最简单的,正如您所指出的


一个选项是在web.config文件中为每个租户定义一个提供者,我没有尝试过。这将允许每个租户拥有自己的成员数据库,并允许您避免租户之间的用户名冲突(如果需要)。

您应该能够在运行时配置ASP.NET成员数据库连接字符串。有几个选项,包括自定义成员资格提供程序或在请求生命周期的早期通过Global.asax.cs更改值