2013-08-18 56 views
0

我知道我可以多MembershipProviders之間進行切換,如果他們是類型成員,如:MVC多MembershipProviders - 他們中的一個WebSecurity

MembershipProvider provider; 
    if (username.Text.StartsWith("G\") then 
    provider = Membership.Providers["GlobalProvider"]; 
    else 
    provider = Membership.Providers["StandardProvider"]; 

    if (provider.ValidateUser(... 

但我有麻煩,如果他們中的一個是WebSecurity提供商,這是VS2012在Internet-Template中使用的,這是ExtendedMembershiprovider的一個實例。 我想使用這個會員/訪問網站的管理區域,而網站的其餘部分使用第三方自定義會員資源提供者來訪問用戶訪問某些其他區域。

所以我認爲它歸結爲一個問題:

我如何實例成員和ExtendedMembership之間切換?

回答

0

我可以用

// Current provider 
    var provider = Membership.Provider; 

    // List of providers 
    var providers = Membership.Providers; 

找出目前的供應商還可以檢查是否目前的供應商是從ExtendedMembershipProvider衍生或不使用:

ExtendedMembershipProvider extendedMembershipProvider = Membership.Provider as ExtendedMembershipProvider; 

不知道這是你想要的,想到的可能對你有用。

相關問題