ASP.NET成员资格 - 现场有两个提供商

时间:2010-08-11 11:41:18

标签: asp.net asp.net-membership

我们的网站有两个ASP.NET成员资格提供程序。内置的一个和自定义的(SqlMembershipProvider。

我能够同时登录这两个问题,但我没有必要同时登录。

我遇到的问题如下:

用户“person_a@site.com”登录到内置提供程序。然后,他们会导航到我们需要自定义提供商的网站部分。

在此页面上,我可以检查它们是否经过身份验证,并获取其用户名。然后,我可以从自定义提供程序GetUser方法获取MembershipUser对象。 (HttpContext.Current.User.Identity.Name)

用户名“person_a@site.com”也可能(也很可能)存在于自定义提供商的用户中。

但是,我不希望他们在这里登录,因为他们没有针对自定义提供商进行身份验证。

那么,是否可以检查生成了哪个来源HttpContext.Current.User。

希望这一切都有意义!!

1 个答案:

答案 0 :(得分:0)

是的,如果您在RolePrincipal上注意到有一个名为ProviderName的媒体资源。

通常,当人们推出自己的提供商时,他们会忽略此字段的使用。

在您的情况下,只需修改您的自定义提供程序以标识自己(如果尚未标识),并检查该用户的属性。