private static SecuritySettings GenerateSecuritySettings() { SecuritySettings settings = new SecuritySettings(); settings.DefaultAuthorizationProviderName = "Authorization Provider"; settings.DefaultAuthenticationProviderName = "Authentication Provider"; settings.DefaultProfileProviderName = "Profile Provider"; settings.DefaultRolesProviderName = "Roles Provider"; settings.DefaultSecurityCacheProviderName = "Security Cache Provider1"; AuthorizationRuleProviderData providerData = new AuthorizationRuleProviderData("RuleProvider"); providerData.Rules.Add(new AuthorizationRuleData("Rule1", "I:TestUser OR R:Admin")); settings.AuthorizationProviders.Add(providerData); settings.AuthorizationProviders.Add(new CustomAuthorizationProviderData("Authorization Provider", typeof (MockAuthorizationProvider).AssemblyQualifiedName)); settings.AuthorizationProviders.Add(new CustomAuthorizationProviderData("provider1", typeof(MockAuthorizationProvider).AssemblyQualifiedName )); settings.AuthorizationProviders.Add(new CustomAuthorizationProviderData("provider2", typeof(Mock2AuthorizationProvider).AssemblyQualifiedName )); settings.AuthenticationProviders.Add(new CustomAuthenticationProviderData("Authentiction Provider", typeof (MockAuthenticationProvider).AssemblyQualifiedName)); settings.RolesProviders.Add(new CustomRolesProviderData("Roles Provider", typeof (MockRolesProvider).AssemblyQualifiedName)); settings.ProfileProviders.Add(new CustomProfileProviderData("Profile Provider", typeof (MockProfileProvider).AssemblyQualifiedName)); settings.SecurityCacheProviders.Add(new CustomSecurityCacheProviderData("Security Cache Provider1", typeof (MockSecurityCacheProvider).AssemblyQualifiedName)); return settings; }
public void Setup() { AuthorizationRuleProviderData ruleProvider = new AuthorizationRuleProviderData(); ruleProvider.Name = "Rule Provider"; SecuritySettings settings = new SecuritySettings(); settings.AuthorizationProviders.Add(ruleProvider); registrations = settings.GetRegistrations(null); }
public AuthorizeRuleBasedBuilder(IConfigureSecuritySettings context, string ruleBasedProviderName) :base(context) { ruleAuthZProvider = new AuthorizationRuleProviderData { Name = ruleBasedProviderName }; base.SecuritySettings.AuthorizationProviders.Add(ruleAuthZProvider); }
protected override void Arrange() { updatableConfigurationSource = new ConfigurationSourceUpdatable(); ruleProvider = new AuthorizationRuleProviderData(); ruleProvider.Name = "ruleProvider"; settings = new SecuritySettings(); settings.AuthorizationProviders.Add(ruleProvider); updatableConfigurationSource.Add(SecuritySettings.SectionName, settings); container = new UnityContainer(); containerConfigurator = new UnityContainerConfigurator(container); EnterpriseLibraryContainer.ConfigureContainer(containerConfigurator, updatableConfigurationSource); }
/// <summary> /// This method supports the Enterprise Library infrastructure and is not intended to be used directly from your code. /// Builds a <see cref="AuthorizationRuleProvider"/> based on an instance of <see cref="AuthorizationRuleProviderData"/>. /// </summary> /// <seealso cref="AuthorizationProviderCustomFactory"/> /// <param name="context">The <see cref="IBuilderContext"/> that represents the current building process.</param> /// <param name="objectConfiguration">The configuration object that describes the object to build. Must be an instance of <see cref="AuthorizationRuleProviderData"/>.</param> /// <param name="configurationSource">The source for configuration objects.</param> /// <param name="reflectionCache">The cache to use retrieving reflection information.</param> /// <returns>A fully initialized instance of <see cref="AuthorizationRuleProvider"/>.</returns> public IAuthorizationProvider Assemble(IBuilderContext context, AuthorizationProviderData objectConfiguration, IConfigurationSource configurationSource, ConfigurationReflectionCache reflectionCache) { AuthorizationRuleProviderData castedObjectConfiguration = (AuthorizationRuleProviderData)objectConfiguration; IDictionary <string, IAuthorizationRule> authorizationRules = new Dictionary <string, IAuthorizationRule>(); foreach (AuthorizationRuleData ruleData in castedObjectConfiguration.Rules) { authorizationRules.Add(ruleData.Name, ruleData); } IAuthorizationProvider createdObject = new AuthorizationRuleProvider(authorizationRules); return(createdObject); }
public void FixtureSetup() { data = new AuthorizationRuleProviderData("foo"); data.TypeName = typeof(AuthorizationRuleProviderData).AssemblyQualifiedName; data.Rules.Add(new AuthorizationRuleData(testRuleName, "I:*")); provider = new AuthorizationRuleProvider(); provider.ConfigurationName = data.Name; provider.Initialize(new TestAuthorizationRuleProviderView(data, context)); principal = new GenericPrincipal(new GenericIdentity("user1"), new string[] {"Admin", "Manager"}); }
public TestAuthorizationRuleProviderView(AuthorizationRuleProviderData data, ConfigurationContext context) : base(context) { this.data = data; }
public void RegisteredAuthorizationProviderDataProviderIsCalledWithCorrectOverrides() { MockConfigurationElementManageabilityProvider registeredProvider = new MockConfigurationElementManageabilityProvider(); Dictionary<Type, ConfigurationElementManageabilityProvider> subProviders = new Dictionary<Type, ConfigurationElementManageabilityProvider>(); subProviders.Add(typeof(AuthorizationRuleProviderData), registeredProvider); provider = new SecuritySettingsManageabilityProvider(subProviders); AuthorizationRuleProviderData authorizationProviderData = new AuthorizationRuleProviderData("authorizationProvider1"); section.AuthorizationProviders.Add(authorizationProviderData); MockRegistryKey machineauthorizationProvidersKey = new MockRegistryKey(false); machineKey.AddSubKey(SecuritySettingsManageabilityProvider.AuthorizationProvidersKeyName, machineauthorizationProvidersKey); MockRegistryKey machineauthorizationProviderKey = new MockRegistryKey(false); machineauthorizationProvidersKey.AddSubKey("authorizationProvider1", machineauthorizationProviderKey); MockRegistryKey machineOtherauthorizationProviderKey = new MockRegistryKey(false); machineauthorizationProvidersKey.AddSubKey("authorizationProvider2", machineOtherauthorizationProviderKey); MockRegistryKey userauthorizationProvidersKey = new MockRegistryKey(false); userKey.AddSubKey(SecuritySettingsManageabilityProvider.AuthorizationProvidersKeyName, userauthorizationProvidersKey); MockRegistryKey userauthorizationProviderKey = new MockRegistryKey(false); userauthorizationProvidersKey.AddSubKey("authorizationProvider1", userauthorizationProviderKey); MockRegistryKey userOtherauthorizationProviderKey = new MockRegistryKey(false); userauthorizationProvidersKey.AddSubKey("authorizationProvider2", userOtherauthorizationProviderKey); provider.OverrideWithGroupPolicies(section, true, machineKey, userKey); Assert.IsTrue(registeredProvider.called); Assert.AreSame(authorizationProviderData, registeredProvider.LastConfigurationObject); Assert.AreSame(machineauthorizationProviderKey, registeredProvider.machineKey); Assert.AreSame(userauthorizationProviderKey, registeredProvider.userKey); Assert.IsTrue( MockRegistryKey.CheckAllClosed(machineauthorizationProvidersKey, machineauthorizationProviderKey, machineOtherauthorizationProviderKey, userauthorizationProvidersKey, userauthorizationProviderKey, userOtherauthorizationProviderKey)); }
public void RegisteredAuthorizationProviderDataProviderIsCalledWithNoOverrides() { MockConfigurationElementManageabilityProvider registeredProvider = new MockConfigurationElementManageabilityProvider(); Dictionary<Type, ConfigurationElementManageabilityProvider> subProviders = new Dictionary<Type, ConfigurationElementManageabilityProvider>(); subProviders.Add(typeof(AuthorizationRuleProviderData), registeredProvider); provider = new SecuritySettingsManageabilityProvider(subProviders); AuthorizationRuleProviderData authorizationProviderData = new AuthorizationRuleProviderData("authorizationProvider1"); section.AuthorizationProviders.Add(authorizationProviderData); provider.OverrideWithGroupPolicies(section, true, machineKey, userKey); Assert.IsTrue(registeredProvider.called); Assert.AreSame(authorizationProviderData, registeredProvider.LastConfigurationObject); Assert.AreEqual(null, registeredProvider.machineKey); Assert.AreEqual(null, registeredProvider.userKey); }