/// <summary> /// <para>Initializes the provider with a <see cref="SecurityConfigurationView"/>.</para> /// </summary> /// <param name="configurationView"> /// <para>A <see cref="SecurityConfigurationView"/> object.</para> /// </param> public override void Initialize(ConfigurationView configurationView) { ArgumentValidation.CheckForNullReference(configurationView, "configurationView"); ArgumentValidation.CheckExpectedType(configurationView, typeof(SecurityConfigurationView)); this.securityConfigurationView = (SecurityConfigurationView)configurationView; }
private static Rule GetRule(string ruleName, ConfigurationSourceSection section) { SqlConfigurationSource source = GetSelectedConfigurationSource(section); //get selected source SqlConfigurationSource selectedSource = GetSelectedConfigurationSource(section); SecurityConfigurationView securityConfigurationView = new SecurityConfigurationView(selectedSource); AuthorizationRuleProviderData authorizationProviderData = GetAuthorizationProviderData(securityConfigurationView, source, section); AuthorizationRuleData authorizationRuleData = authorizationProviderData.Rules.Get(ruleName); return(new Rule(authorizationRuleData.Name, authorizationRuleData.Expression)); }
/// <summary> /// Gets all rules. /// </summary> /// <returns></returns> public static List <Rule> GetAllRules() { ConfigurationSourceSection section = GetConfigurationSourceSection(); SqlConfigurationSource source = GetSelectedConfigurationSource(section); //get selected source SqlConfigurationSource selectedSource = GetSelectedConfigurationSource(section); SecurityConfigurationView securityConfigurationView = new SecurityConfigurationView(selectedSource); AuthorizationRuleProviderData authorizationProviderData = GetAuthorizationProviderData(securityConfigurationView, source, section); List <Rule> rules = new List <Rule>(); //loop through all the rules authorizationProviderData.Rules.ForEach(delegate(AuthorizationRuleData currentRule) { rules.Add(new Rule(currentRule.Name, currentRule.Expression)); }); return(rules); }
/// <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(); } }
public void ConstructingWithANullConfigurationSourceThrows() { SecurityConfigurationView proxy = new SecurityConfigurationView(null); }
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); }