0

我使用开箱即用的Asp.Net成员资格功能来处理我的用户管理和角色管理。设置成员供应商以使用特定供应商

我的应用程序由每个客户端的单个数据库组成,每个数据库都有自己的成员资格提供程序和角色提供程序。

但是,有一些用户为多个客户端工作,我希望使用单一登录并让他们选择要查看的客户端。我已经设置了一切,通过使用存储所有用户名和与他们有权访问的关系的中间数据库来促进这种“客户端切换”。我还设置了它,以便在一个数据库中对用户进行的任何更新都会更新其他数据库中的所有相应用户。所有这些逻辑工作得很好,除了我似乎无法弄清楚如何告诉ASP.Net更改为特定的MembershipProvider并使用它。

,我想我应该使用的过程如下(切换的时候用户在客户端下拉客户端):

  • 登录的当前用户从
  • 告诉ASP.Net使用哪个成员资格提供(基于选择的下拉选择的客户机上)
  • 登录当前用户在使用所选择的客户的成员资格提供和刷新/重定向到它们时,他们改变下拉被查看的页面

我知道如何获得对特定成员资格提供者(Membership.Providers [MembershipProviderName])的引用,但我找不到任何有关如何告诉ASP.Net更改其成员资格提供者的信息。我并不确定asp.net登录控件是如何在后台执行此操作的 - 这可能会帮助我完成所有这一切。

我一直在搜索SO和网络一段时间,似乎无法找到很多关于做这个比其他人尝试修改其Web.config中Providers元素的DefaultProvider属性的线程。

回答

0

This MSDN tutorial may help you。

+0

感谢您的指导。我看了几个不同的,但这是我见过的最好的之一。最后,我试图避免一个自定义会员供应商。然而,我读到的关于提供者的信息越多,我越看到我的方法如何不是真正意义上的多种提供者模型。现在,由于客户端数据库中的所有重复用户将始终拥有相同的数据(这要归功于我的应用程序逻辑),所以我决定作弊并仅使用来自任何asp.net提供程序的用户/角色信息(UserId除外,必须根据请求从特定供应商处检索)。 – 2012-04-21 15:05:51