/// <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);
            }
        }
Exemple #3
0
 /// <summary>
 /// Policy configuration ctor
 /// </summary>
 public SecurityPolicyConfiguration(SecurityPolicyIdentification policy, object value)
 {
     this.PolicyId    = policy;
     this.PolicyValue = value;
     this.Enabled     = true;
 }