开发者

ASP.NET Membership - Two providers on site

Our site has got two ASP.NET membership providers. The built in one, and a custom one (SqlMembershipProvider.

I am able to log into both no problems, but I don't necessary require the ability to have both logged in at the same time.

The issue I have is as follows:

User "person_a@site.com" logs into the built in provider. They then navigate to the section of the site where we require the custom provider.

On this page, I can check if they are authenticated, and get their username. I can then get a MembershipUser object form the custom providers GetUser method. (HttpContext.Current.User.Identity.Name)

It is possible (and very likely) that the username "person_a@site.com" could also exist in the users for the custom provider.

But, I don't want them to be logged in here, as they haven't authenticated against the custom provider.

So, is it possible to check which proivider HttpContext.Current.User was generated from.

Hope this all makes开发者_开发百科 sense!!


Yes, if you notice on the RolePrincipal there is a property called ProviderName.

Typically when people roll their own providers they omit usage of this field.

In your case, simply modify your custom provider to identify itself, if it does not already, and check that property of the user.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜