使用内ASP.Net MVC 3应用程序的多个成员提供商 [英] Using multiple membership providers within ASP.Net MVC 3 application
问题描述
我加入一个新的领域,以现有的MVC 3剃须刀应用作为管理的一些设置和内容的管理区。该网站的其余部分目前由验证我们的客户自定义提供担保。现在我需要验证一些员工访问管理领域,客户端的用户数据是在一个完全不同的数据库和格式比什么,我需要为我们的员工。
I am adding a new area to an existing mvc 3 razor app as an admin area for managing some settings and content. The rest of the site is currently secured by a custom provider that authenticates our clients. Now I need to authenticate some employees to access the admin area, The client user data is in a totally different database and format than what I need for our employees.
这可能是一个没有很多麻烦?
Is this possible without a lot of headaches?
推荐答案
有实际上是涉及很有点头疼。
There is actually very little headache involved.
只需添加你想要的所有MembershipProviders在web.config中:
Simply add all the MembershipProviders you want in web.config:
<membership defaultProvider="MembershipProvider1">
<providers>
<clear/>
<add name="MembershipProvider1" type="MvcApplication.MembershipProvider1" />
<add name="MembershipProvider2" type="MvcApplication.MembershipProvider2" />
<add name="AspNetSqlMembershipProvider"
type="System.Web.Security.SqlMembershipProvider"
connectionStringName="ApplicationServices" />
</providers>
</membership>
正如你可以看到我已经添加了两个供应商。我还指定一个默认的提供者。
As you can see I have added two providers. I have also specified a default provider.
然后我就可以在两个这样的切换:
I can then switch between the two like this:
var membershipProvider1 = Membership.Providers["MembershipProvider1"];
membershipProvider1.ValidateUser("Mike", "banana");
var membershipProvider2 = Membership.Providers["MembershipProvider2"];
membershipProvider2.ValidateUser("Mike", "orange");
您可能想换行到一个应用程序服务或东西,但你的想法。与其说头疼吧?
You probably want to wrap that into an application service or something, but you get the idea. Not so much headache, right?
这篇关于使用内ASP.Net MVC 3应用程序的多个成员提供商的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!