/// <summary> /// Set the specified policy /// </summary> internal void SetPolicy(SecurityPolicyIdentification policyId, object policyValue) { var pol = this.SecurityPolicy.Find(o => o.PolicyId == policyId); if (pol == null) { this.SecurityPolicy.Add(new SecurityPolicyConfiguration(policyId, policyValue)); } else { pol.PolicyValue = policyValue; } }
/// <summary> /// Gets the enabled security policy /// </summary> /// <param name="id">The identifier of the policy</param> /// <param name="defaultValue">The default value of the policy</param> /// <returns>The policy configuration</returns> public T GetSecurityPolicy <T>(SecurityPolicyIdentification id, T defaultValue = default(T)) { var pol = this.SecurityPolicy?.Find(o => o.Enabled && o.PolicyId == id); if (pol == null) { return(defaultValue); } else if (MapUtil.TryConvert(pol.PolicyValue, typeof(T), out object retVal)) { return((T)retVal); } else { return(defaultValue); } }
/// <summary> /// Policy configuration ctor /// </summary> public SecurityPolicyConfiguration(SecurityPolicyIdentification policy, object value) { this.PolicyId = policy; this.PolicyValue = value; this.Enabled = true; }