我正在使用开箱即用的Asp.Net Membership功能来处理我的用户管理和角色管理。
我的应用程序由每个客户端的单个数据库组成,每个数据库都有自己的成员资格提供者和角色提供者。
但是,有些用户为多个客户端工作,我希望使用一次登录,让他们选择要查看的客户端。通过使用存储所有用户名的中间数据库以及他们有权访问哪些客户端的关系,我可以通过一切设置来促进这种“客户端切换”。我也设置了它,因此在一个数据库中对用户的任何更新都将更新其他数据库中的所有相应用户。所有这些逻辑都运行得很好,除了我似乎无法弄清楚如何告诉ASP.Net更改为特定的MembershipProvider并使用它。
我认为应该使用的过程如下(当用户在客户端下拉菜单中切换客户端时):
我知道如何获取对特定成员资格提供程序(Membership.Providers [MembershipProviderName])的引用,但我找不到有关如何告诉ASP.Net更改其成员资格提供程序的任何信息。我甚至不确定asp.net Login控件如何在后台执行此操作 - 这可能会帮助我完成所有这些。
我一直在搜索SO和网络一段时间,除了一些人们试图修改其Web.config中Providers元素的DefaultProvider属性的线程之外,似乎没有找到太多关于这样做的事情。 / p>