繁体   English   中英

ASP.NET成员资格-站点上有两个提供程序

[英]ASP.NET Membership - Two providers on site

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

我可以无问题地登录,但是我并不需要同时登录。

我遇到的问题如下:

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

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

自定义提供程序的用户中也可能存在用户名“ person_a@site.com”(非常有可能)。

但是,我不希望它们在此处登录,因为它们尚未针对自定义提供程序进行身份验证。

因此,可以检查生成了哪个提供者HttpContext.Current.User。

希望这一切都有道理!

是的,如果您在RolePrincipal上注意到有一个名为ProviderName的属性。

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

对于您的情况,只需修改自定义提供程序以标识自身(如果尚未标识),然后检查用户的该属性。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM