0

我知道如何在多个 MembershipProviders 之间切换,如果它们属于 Membership 类型,例如:

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

  if ( provider.ValidateUser( ...

但是,如果其中一个是 WebSecurity Provider,VS2012 在 Internet-Template 中使用,它是 ExtendedMembershiprovider 的一个实例,我会遇到麻烦。我想将此用于会员资格/访问网站的管理区域,而网站的其余部分使用第三方自定义会员资格提供程序来访问用户访问某些其他区域。

所以我认为这归结为一个问题:

如何在实例成员资格和扩展成员资格之间切换?

4

1 回答 1

0

我可以使用

    // Current provider
    var provider = Membership.Provider;

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

您还可以使用以下方法检查当前提供程序是否来自 ExtendedMembershipProvider:

ExtendedMembershipProvider extendedMembershipProvider = Membership.Provider as ExtendedMembershipProvider;

不确定这是您想要的,认为可能对您有用。

于 2013-08-22T12:26:06.353 回答