2011-03-17 98 views
39

我正在爲現有的mvc 3 razor應用程序添加一個新區域作爲管理區域,用於管理某些設置和內容。該網站的其他部分目前由一個自定義提供商進行保護,以驗證我們的客戶。現在我需要驗證一些員工訪問管理區域,客戶用戶數據的數據庫和格式完全不同於我們員工所需的數據庫和格式。在ASP.Net MVC 3應用程序中使用多個成員提供程序

這可能沒有很多頭痛嗎?

回答

58

實際上很少涉及頭痛。

只需添加你想要的所有MembershipProviders在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> 

正如你可以看到我已經添加了兩個供應商。我還指定了一個默認提供者。

然後我可以在兩個這樣的切換:

var membershipProvider1 = Membership.Providers["MembershipProvider1"]; 
membershipProvider1.ValidateUser("Mike", "banana"); 

var membershipProvider2 = Membership.Providers["MembershipProvider2"]; 
membershipProvider2.ValidateUser("Mike", "orange"); 

你可能想換行到一個應用程序服務或東西,但你的想法。不是很頭疼,對吧?

+0

nope,很容易比我想...謝謝 – JBeckton 2011-03-18 01:23:26

+3

偉大的問題,很好的答案。謝謝你傢伙:) – Marchy 2012-05-11 15:40:55

+3

@Marchy偉大的意見:D – 2012-05-22 09:19:53

相關問題