Example #1
0
        public DefaultProviderSwitcher(
            MembershipProviderAccessor membershipProviderAccessor,
            RoleProviderAccessor roleProviderAccessor,
            MembershipProvider provider,
            RoleProvider roleProvider)
        {
            Condition.Requires(membershipProviderAccessor, "membershipProviderAccessor").IsNotNull();
            Condition.Requires(roleProviderAccessor, "roleProviderAccessor").IsNotNull();
            Condition.Requires(provider, "provider").IsNotNull();
            Condition.Requires(roleProvider, "roleProvider").IsNotNull();

            this.membershipProviderAccessor = membershipProviderAccessor;
            this.roleProviderAccessor       = roleProviderAccessor;

            this.originalMembershipInitializedDefault =
                membershipProviderAccessor.SetInitializedDefaultProviderAndReturnOriginalValue(true);
            this.originalMembershipInitialized = membershipProviderAccessor.SetInitializedAndReturnOriginalValue(true);
            this.originalMembershipProvider    = membershipProviderAccessor.SetProviderAndReturnOriginalValue(provider);

            this.originalRoleEnabledInitialized = roleProviderAccessor.SetEnabledAndReturnOriginalValue(true);
            this.originalRoleProviders          =
                roleProviderAccessor.SetProvidersAndReturnOriginalValue(new RoleProviderCollection());
            this.originalRoleInitializedDefault =
                roleProviderAccessor.SetInitializedDefaultProviderAndReturnOriginalValue(true);
            this.originalRoleInitialized = roleProviderAccessor.SetInitializedAndReturnOriginalValue(true);
            this.originalRoleProvider    = roleProviderAccessor.SetProviderAndReturnOriginalValue(roleProvider);
        }
Example #2
0
        private void RegisterProviders(IUnityContainer container)
        {
            // 身份
            MembershipProviderCollection mProviders = new MembershipProviderCollection();
            MembershipSection            mSection   =
                (MembershipSection)WebConfigurationManager.GetSection("system.web/membership");

            foreach (ProviderSettings settings in mSection.Providers)
            {
                if (settings.Parameters["connectionStringName"] != null)
                {
                    settings.Parameters["connectionStringName"] = D.NamedSection.DataConnection;
                }
            }

            ProvidersHelper.InstantiateProviders(
                mSection.Providers, mProviders, typeof(MembershipProvider));
            MembershipProvider mProvider = mProviders[mSection.DefaultProvider];

            // 角色

            RoleProviderCollection rProviders = new RoleProviderCollection();
            RoleManagerSection     rSection   =
                (RoleManagerSection)WebConfigurationManager.GetSection("system.web/roleManager");

            foreach (ProviderSettings settings in rSection.Providers)
            {
                if (settings.Parameters["connectionStringName"] != null)
                {
                    settings.Parameters["connectionStringName"] = D.NamedSection.DataConnection;
                }
            }

            ProvidersHelper.InstantiateProviders(
                rSection.Providers, rProviders, typeof(RoleProvider));
            RoleProvider rProvider = rProviders[rSection.DefaultProvider];

            // 配置

            ProfileProviderCollection pProviders = new ProfileProviderCollection();
            ProfileSection            pSection   =
                (ProfileSection)WebConfigurationManager.GetSection("system.web/profile");

            foreach (ProviderSettings settings in pSection.Providers)
            {
                if (settings.Parameters["connectionStringName"] != null)
                {
                    settings.Parameters["connectionStringName"] = D.NamedSection.DataConnection;
                }
            }

            ProvidersHelper.InstantiateProviders(
                pSection.Providers, pProviders, typeof(ProfileProvider));
            ProfileProvider pProvider = pProviders[pSection.DefaultProvider];

            container.RegisterInstance <MembershipProvider>(mProvider);
            container.RegisterInstance <RoleProvider>(rProvider);
            container.RegisterInstance <ProfileProvider>(pProvider);
        }
        public void SetUp()
        {
            var config = new NameValueCollection();

            config.Add("applicationName", "IntegrationTests");
            config.Add("ldapServer", LdapServerInConfig);
            var ldapProvider = new LdapRoleProvider();

            ldapProvider.Initialize("IntegrationTests", config);

            var enabledField = typeof(Roles).GetField("s_Enabled",
                                                      BindingFlags.NonPublic |
                                                      BindingFlags.Static);

            enabledField.SetValue(typeof(Roles), true);

            var initialized = typeof(Roles).GetField("s_Initialized",
                                                     BindingFlags.NonPublic |
                                                     BindingFlags.Static);

            initialized.SetValue(typeof(Roles), true);

            var providers = new RoleProviderCollection();

            var readOnlyField = typeof(Roles).GetField("s_Providers",
                                                       BindingFlags.NonPublic |
                                                       BindingFlags.Static);

            readOnlyField.SetValue(typeof(Roles), providers);

            providers.Add(ldapProvider);

            var registeredProvider = Roles.Providers["IntegrationTests"];

            Assert.IsNotNull(registeredProvider);

            provider = registeredProvider;
        }
Example #4
0
 public RoleProviderCollection SetProvidersAndReturnOriginalValue(RoleProviderCollection providers)
 {
     return(ProvidersSetter(providers));
 }
Example #5
0
        public static bool IsUsingDefaultBackOfficeRoleProvider(this RoleProviderCollection providers)
        {
            var provider = providers.GetBackOfficeRoleProvider();

            return(provider.IsDefaultBackOfficeRoleProvider());
        }
Example #6
0
 public static RoleProvider GetBackOfficeRoleProvider(this RoleProviderCollection providers)
 {
     return(providers["BackOfficeRoleProvider"]);
 }