static FieldSecurityGroup() { Empty = new FieldSecurityGroup { AllowAnonymous = true, }; }
/// <summary> /// Generates a security group from a given attribute container. /// </summary> /// <param name="attributedItem">The attributed item to build the group from.</param> /// <returns>SecurityGroup.</returns> public static FieldSecurityGroup FromAttributeCollection(ICustomAttributeProvider attributedItem) { var group = new FieldSecurityGroup { _requirements = attributedItem.GetCustomAttributes(true) .Where(x => x is Attribute && x is IAuthorizeData) .OfType <IAuthorizeData>() .Select(x => new FieldSecurityPolicy(x)).ToList(), AllowAnonymous = attributedItem.GetCustomAttributes(true) .Any(x => x is Attribute && x is IAllowAnonymous), }; return(group); }