[英]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.