Describes a security requirements of a resource.
Inheritance: ICloneable
示例#1
0
        protected internal SecurableResourceInfo(Url url)
        {
            if (url == null)
            {
                throw new ArgumentNullException("url");
            }

            Url = url;
            SecurityRequirements = new ResourceSecurityInfo();
        }
示例#2
0
        /// <summary>Merges specifications overriding settings with those taken from <paramref name="specificSecurityInfo"/>.</summary>
        /// <param name="specificSecurityInfo">The specific security information to merge with.</param>
        /// <returns>Merged specifications.</returns>
        public ResourceSecurityInfo OverrideWith(ResourceSecurityInfo specificSecurityInfo)
        {
            if (specificSecurityInfo == null)
            {
                throw new ArgumentNullException("specificSecurityInfo");
            }

            var result = Clone();

            result.Merge(specificSecurityInfo.Allowed, securitySpecification => securitySpecification.Allow(null, null));
            result.Merge(specificSecurityInfo.Denied, securitySpecification => securitySpecification.Deny(null, null));
            return(result);
        }
示例#3
0
        /// <summary>Merges specifications overriding settings with those taken from <paramref name="specificSecurityInfo"/>.</summary>
        /// <param name="specificSecurityInfo">The specific security information to merge with.</param>
        /// <returns>Merged specifications.</returns>
        public ResourceSecurityInfo OverrideWith(ResourceSecurityInfo specificSecurityInfo)
        {
            if (specificSecurityInfo == null)
            {
                throw new ArgumentNullException("specificSecurityInfo");
            }

            var result = Clone();
            result.Merge(specificSecurityInfo.Allowed, securitySpecification => securitySpecification.Allow(null, null));
            result.Merge(specificSecurityInfo.Denied, securitySpecification => securitySpecification.Deny(null, null));
            return result;
        }