Ejemplo n.º 1
0
        /// <summary>
        /// Updates a rule.
        /// </summary>
        /// <param name="rule">The rule.</param>
        public static void UpdateRule(Rule rule)
        {
            using (TransactionScope scope = new TransactionScope())
            {
                ConfigurationSourceSection section = GetConfigurationSourceSection();
                //get selected source
                SqlConfigurationSource selectedSource = GetSelectedConfigurationSource(section);
                //get authorization Provider
                SecurityConfigurationView     securityConfigurationView = new SecurityConfigurationView(selectedSource);
                SecuritySettings              securitySettings          = securityConfigurationView.GetSecuritySettings();
                AuthorizationRuleProviderData authorizationProviderData = securitySettings.AuthorizationProviders.Get(
                    securityConfigurationView.GetDefaultAuthorizationProviderName()) as AuthorizationRuleProviderData;
                //add the new rule to the collection
                authorizationProviderData.Rules.Get(rule.Name).Expression = rule.Expression;

                SqlConfigurationSourceElement element = GetElement(section.SelectedSource, section.Sources);
                selectedSource.Save(element.ConnectionString, element.SetStoredProcedure, "securityConfiguration", securitySettings);
                scope.Complete();
            }
        }
Ejemplo n.º 2
0
 private static AuthorizationRuleProviderData GetAuthorizationProviderData(SecurityConfigurationView securityConfigurationView, SqlConfigurationSource configurationSource, ConfigurationSourceSection section)
 {
     //find default authorisation provider - the rules provider
     return(securityConfigurationView.GetSecuritySettings().AuthorizationProviders.Get(
                securityConfigurationView.GetDefaultAuthorizationProviderName()) as AuthorizationRuleProviderData);
 }