public void SecurityCacheProviderWithDisabledPolicyIsNotRemovedIfGroupPoliciesAreDisabled() { MockConfigurationElementManageabilityProvider registeredProvider = new MockConfigurationElementManageabilityProvider(); Dictionary <Type, ConfigurationElementManageabilityProvider> subProviders = new Dictionary <Type, ConfigurationElementManageabilityProvider>(); subProviders.Add(typeof(SecurityCacheProviderData), registeredProvider); provider = new SecuritySettingsManageabilityProvider(subProviders); SecurityCacheProviderData securityCacheProvider1Data = new SecurityCacheProviderData("securityCacheProvider1", typeof(Object)); section.SecurityCacheProviders.Add(securityCacheProvider1Data); SecurityCacheProviderData securityCacheProvider2Data = new SecurityCacheProviderData("securityCacheProvider2", typeof(Object)); section.SecurityCacheProviders.Add(securityCacheProvider2Data); MockRegistryKey machineSecurityCacheProvidersKey = new MockRegistryKey(false); machineKey.AddSubKey(SecuritySettingsManageabilityProvider.SecurityCacheProvidersKeyName, machineSecurityCacheProvidersKey); MockRegistryKey machineSecurityCacheProvider2Key = new MockRegistryKey(false); machineSecurityCacheProvidersKey.AddSubKey("securityCacheProvider2", machineSecurityCacheProvider2Key); machineSecurityCacheProvider2Key.AddBooleanValue(SecuritySettingsManageabilityProvider.PolicyValueName, false); provider.OverrideWithGroupPolicies(section, false, machineKey, userKey); Assert.AreEqual(2, section.SecurityCacheProviders.Count); Assert.IsNotNull(section.SecurityCacheProviders.Get("securityCacheProvider1")); Assert.IsNotNull(section.SecurityCacheProviders.Get("securityCacheProvider2")); Assert.IsTrue(MockRegistryKey.CheckAllClosed(machineSecurityCacheProvidersKey, machineSecurityCacheProvider2Key)); }
/// <summary> /// <para>Gets the configuration object <see cref="Type"/> for the factory to create given the <paramref name="securityCacheProviderName"/>.</para> /// </summary> /// <param name="securityCacheProviderName"> /// <para>The name of the <see cref="ISecurityCacheProvider"/> to create.</para> /// </param> /// <returns> /// <para>The <see cref="Type"/> of the <see cref="ISecurityCacheProvider"/> to create.</para> /// </returns> protected override Type GetConfigurationType(string securityCacheProviderName) { SecurityConfigurationView securityConfigurationView = (SecurityConfigurationView)CreateConfigurationView(); SecurityCacheProviderData securityCacheProviderData = securityConfigurationView.GetSecurityCacheProviderData(securityCacheProviderName); return(GetType(securityCacheProviderData.TypeName)); }
private CachingStoreProviderData GetCacheStorageProviderData() { SecurityCacheProviderData securityCacheProviderData = securityConfigurationView.GetSecurityCacheProviderData(ConfigurationName); ArgumentValidation.CheckExpectedType(securityCacheProviderData, typeof(CachingStoreProviderData)); return((CachingStoreProviderData)securityCacheProviderData); }
/// <summary> /// Initializes with configuration data and display name. /// </summary> /// <param name="securityCacheProviderData">The configuration data.</param> protected SecurityCacheProviderNode(SecurityCacheProviderData securityCacheProviderData) : base() { if (securityCacheProviderData == null) { throw new ArgumentNullException("securityCacheProviderData"); } this.securityCacheProviderData = securityCacheProviderData; }
public void ManageabilityProviderGeneratesProperAdmContent() { DictionaryConfigurationSource configurationSource = new DictionaryConfigurationSource(); configurationSource.Add(SecuritySettings.SectionName, section); AuthorizationProviderData authorization = new AuthorizationProviderData("authorization", typeof(object)); SecurityCacheProviderData security = new SecurityCacheProviderData("security", typeof(object)); section.AuthorizationProviders.Add(authorization); section.SecurityCacheProviders.Add(security); MockConfigurationElementManageabilityProvider subProvider = new MockConfigurationElementManageabilityProvider(); Dictionary <Type, ConfigurationElementManageabilityProvider> subProviders = new Dictionary <Type, ConfigurationElementManageabilityProvider>(); subProviders.Add(typeof(AuthorizationProviderData), subProvider); subProviders.Add(typeof(SecurityCacheProviderData), subProvider); provider = new ConfigurationSectionManageabilityProviderWrapper(new SecuritySettingsManageabilityProvider(subProviders)); MockAdmContentBuilder contentBuilder = new MockAdmContentBuilder(); provider.InvokeAddAdministrativeTemplateDirectives(contentBuilder, section, configurationSource, "TestApp"); Assert.AreEqual(2, subProvider.configurationObjects.Count); Assert.AreSame(authorization, subProvider.configurationObjects[0]); Assert.AreSame(security, subProvider.configurationObjects[1]); MockAdmContent content = contentBuilder.GetMockContent(); IEnumerator <AdmCategory> categoriesEnumerator = content.Categories.GetEnumerator(); Assert.IsTrue(categoriesEnumerator.MoveNext()); Assert.AreEqual(Resources.SecuritySectionCategoryName, categoriesEnumerator.Current.Name); IEnumerator <AdmCategory> subCategoriesEnumerator = categoriesEnumerator.Current.Categories.GetEnumerator(); Assert.IsTrue(subCategoriesEnumerator.MoveNext()); Assert.AreEqual(Resources.AuthorizationProvidersCategoryName, subCategoriesEnumerator.Current.Name); Assert.IsTrue(subCategoriesEnumerator.MoveNext()); Assert.AreEqual(Resources.SecurityCacheProvidersCategoryName, subCategoriesEnumerator.Current.Name); Assert.IsFalse(subCategoriesEnumerator.MoveNext()); IEnumerator <AdmPolicy> sectionPoliciesEnumerator = categoriesEnumerator.Current.Policies.GetEnumerator(); Assert.IsTrue(sectionPoliciesEnumerator.MoveNext()); Assert.AreEqual(Resources.SecuritySettingsPolicyName, sectionPoliciesEnumerator.Current.Name); IEnumerator <AdmPart> sectionPartsEnumerator = sectionPoliciesEnumerator.Current.Parts.GetEnumerator(); Assert.IsTrue(sectionPartsEnumerator.MoveNext()); Assert.AreSame(typeof(AdmDropDownListPart), sectionPartsEnumerator.Current.GetType()); Assert.AreEqual(SecuritySettingsManageabilityProvider.DefaultAuthorizationProviderPropertyName, ((AdmDropDownListPart)sectionPartsEnumerator.Current).ValueName); Assert.IsTrue(sectionPartsEnumerator.MoveNext()); Assert.AreSame(typeof(AdmDropDownListPart), sectionPartsEnumerator.Current.GetType()); Assert.AreEqual(SecuritySettingsManageabilityProvider.DefaultSecurityCacheProviderPropertyName, ((AdmDropDownListPart)sectionPartsEnumerator.Current).ValueName); Assert.IsFalse(sectionPartsEnumerator.MoveNext()); Assert.IsFalse(sectionPoliciesEnumerator.MoveNext()); Assert.IsFalse(categoriesEnumerator.MoveNext()); }
/// <summary> /// <para>Gets the named <see cref="SecurityCacheProviderData"/> from configuration.</para> /// </summary> /// <param name="securityCacheProviderName"> /// <para>The name of the <see cref="SecurityCacheProviderData"/> to get the data.</para> /// </param> /// <returns> /// <para>The named <see cref="SecurityCacheProviderData"/> from configuration.</para> /// </returns> public SecurityCacheProviderData GetSecurityCacheProviderData(string securityCacheProviderName) { SecuritySettings settings = GetSecuritySettings(); SecurityCacheProviderData data = settings.SecurityCacheProviders.Get(securityCacheProviderName); if (data == null) { throw new ConfigurationErrorsException(string.Format(Resources.ExceptionSecurityCacheProviderNotFound, securityCacheProviderName)); } return(data); }
/// <summary> /// <para>Gets the named <see cref="SecurityCacheProviderData"/> from configuration.</para> /// </summary> /// <param name="securityCacheProviderName"> /// <para>The name of the <see cref="SecurityCacheProviderData"/> to get the data.</para> /// </param> /// <returns> /// <para>The named <see cref="SecurityCacheProviderData"/> from configuration.</para> /// </returns> public virtual SecurityCacheProviderData GetSecurityCacheProviderData(string securityCacheProviderName) { SecuritySettings settings = GetSecuritySettings(); SecurityCacheProviderData data = settings.SecurityCacheProviders[securityCacheProviderName]; if (data == null) { throw new ConfigurationException(SR.ExceptionSecurityCacheProviderNotFound(securityCacheProviderName)); } return(data); }
private void BuildSecurityCacheProviders(SecurityCacheProviderData securityProviderData) { ConfigurationNode securityProviderNode = NodeCreationService.CreateNodeByDataType(securityProviderData.GetType(), new object[] { securityProviderData }); if (null == securityProviderNode) { LogNodeMapError(securityCacheProviderCollectionNode_, securityProviderData.GetType()); return; } if (securityProviderNode.Name == settings.DefaultSecurityCacheProviderName) { defaultSecurityCacheProviderNode = (SecurityCacheProviderNode)securityProviderNode; } securityCacheProviderCollectionNode_.AddNode(securityProviderNode); }
public void GetSecurityCacheProvidersDataTest() { SecurityCacheProviderCollectionNode node = new SecurityCacheProviderCollectionNode(); CreateHierarchyAndAddToHierarchyService(node, CreateDefaultConfiguration()); CustomSecurityCacheProviderNode providerNode = new CustomSecurityCacheProviderNode(); node.Nodes.Add(providerNode); providerNode.Name = "provider1"; providerNode.TypeName = typeof(MockSecurityCacheProvider).AssemblyQualifiedName; SecurityCacheProviderDataCollection providers = node.SecurityCacheProviderDataCollection; Assert.IsNotNull(providers); Assert.AreEqual(1, providers.Count); SecurityCacheProviderData data = providers["provider1"]; Assert.IsNotNull(data); CustomSecurityCacheProviderData customData = data as CustomSecurityCacheProviderData; Assert.IsNotNull(customData); Assert.AreEqual(typeof(MockSecurityCacheProvider).AssemblyQualifiedName, customData.TypeName); }
private void BuildSecurityCacheProviders(SecurityCacheProviderData securityProviderData) { ConfigurationNode securityProviderNode = NodeCreationService.CreateNodeByDataType(securityProviderData.GetType(), new object[] { securityProviderData }); if (null == securityProviderNode) { LogNodeMapError(securityCacheProviderCollectionNode_, securityProviderData.GetType()); return; } if (securityProviderNode.Name == settings.DefaultSecurityCacheProviderName) defaultSecurityCacheProviderNode = (SecurityCacheProviderNode)securityProviderNode; securityCacheProviderCollectionNode_.AddNode(securityProviderNode); }