Exemple #1
0
        private static void InitializeSettings(RoleManagerSection settings)
        {
            if (!s_Initialized)
            {
                s_Providers = new RoleProviderCollection();

                if (HostingEnvironment.IsHosted)
                {
                    ProvidersHelper.InstantiateProviders(settings.Providers, s_Providers, typeof(RoleProvider));
                }
                else
                {
                    foreach (ProviderSettings ps in settings.Providers)
                    {
                        Type t = Type.GetType(ps.Type, true, true);
                        if (!typeof(RoleProvider).IsAssignableFrom(t))
                        {
                            throw new ArgumentException(SR.GetString(SR.Provider_must_implement_type, typeof(RoleProvider).ToString()));
                        }
                        RoleProvider        provider    = (RoleProvider)Activator.CreateInstance(t);
                        NameValueCollection pars        = ps.Parameters;
                        NameValueCollection cloneParams = new NameValueCollection(pars.Count, StringComparer.Ordinal);
                        foreach (string key in pars)
                        {
                            cloneParams[key] = pars[key];
                        }
                        provider.Initialize(ps.Name, cloneParams);
                        s_Providers.Add(provider);
                    }
                }
            }
        }
		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;
		}
        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);
        }
Exemple #4
0
 private static void InitializeSettings(RoleManagerSection settings)
 {
     if (!s_Initialized)
     {
         s_Providers = new RoleProviderCollection();
         if (HostingEnvironment.IsHosted)
         {
             ProvidersHelper.InstantiateProviders(settings.Providers, s_Providers, typeof(RoleProvider));
         }
         else
         {
             foreach (ProviderSettings settings2 in settings.Providers)
             {
                 Type c = Type.GetType(settings2.Type, true, true);
                 if (!typeof(RoleProvider).IsAssignableFrom(c))
                 {
                     throw new ArgumentException(System.Web.SR.GetString("Provider_must_implement_type", new object[] { typeof(RoleProvider).ToString() }));
                 }
                 RoleProvider        provider   = (RoleProvider)Activator.CreateInstance(c);
                 NameValueCollection parameters = settings2.Parameters;
                 NameValueCollection config     = new NameValueCollection(parameters.Count, StringComparer.Ordinal);
                 foreach (string str in parameters)
                 {
                     config[str] = parameters[str];
                 }
                 provider.Initialize(settings2.Name, config);
                 s_Providers.Add(provider);
             }
         }
     }
 }
        private static void InitializeSettings(RoleManagerSection settings) {
            if (!s_Initialized) {
                s_Providers = new RoleProviderCollection();

                if (HostingEnvironment.IsHosted) {
                    ProvidersHelper.InstantiateProviders(settings.Providers, s_Providers, typeof(RoleProvider));
                }
                else {
                    foreach (ProviderSettings ps in settings.Providers) {
                        Type t = Type.GetType(ps.Type, true, true);
                        if (!typeof(RoleProvider).IsAssignableFrom(t))
                            throw new ArgumentException(SR.GetString(SR.Provider_must_implement_type, typeof(RoleProvider).ToString()));
                        RoleProvider provider = (RoleProvider)Activator.CreateInstance(t);
                        NameValueCollection pars = ps.Parameters;
                        NameValueCollection cloneParams = new NameValueCollection(pars.Count, StringComparer.Ordinal);
                        foreach (string key in pars)
                            cloneParams[key] = pars[key];
                        provider.Initialize(ps.Name, cloneParams);
                        s_Providers.Add(provider);
                    }
                }
            }
        }
 private static void InitializeSettings(RoleManagerSection settings)
 {
     if (!s_Initialized)
     {
         s_Providers = new RoleProviderCollection();
         if (HostingEnvironment.IsHosted)
         {
             ProvidersHelper.InstantiateProviders(settings.Providers, s_Providers, typeof(RoleProvider));
         }
         else
         {
             foreach (ProviderSettings settings2 in settings.Providers)
             {
                 Type c = Type.GetType(settings2.Type, true, true);
                 if (!typeof(RoleProvider).IsAssignableFrom(c))
                 {
                     throw new ArgumentException(System.Web.SR.GetString("Provider_must_implement_type", new object[] { typeof(RoleProvider).ToString() }));
                 }
                 RoleProvider provider = (RoleProvider) Activator.CreateInstance(c);
                 NameValueCollection parameters = settings2.Parameters;
                 NameValueCollection config = new NameValueCollection(parameters.Count, StringComparer.Ordinal);
                 foreach (string str in parameters)
                 {
                     config[str] = parameters[str];
                 }
                 provider.Initialize(settings2.Name, config);
                 s_Providers.Add(provider);
             }
         }
     }
 }
 public RoleProviderCollection SetProvidersAndReturnOriginalValue(RoleProviderCollection providers)
 {
     return ProvidersSetter(providers);
 }