使用内ASP.Net MVC 3应用程序的多个成员提供商 [英] Using multiple membership providers within ASP.Net MVC 3 application

查看:116
本文介绍了使用内ASP.Net MVC 3应用程序的多个成员提供商的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我加入一个新的领域,以现有的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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆