public void AddRole(string role, AspectDependencyPosition position) { if (ContainsRole(role)) { throw new InvalidOperationException( string.Format("Aspect '{0}' already defined role '{1}'", Aspect.AspectAttribute.AttributeType.Name, role)); } switch (position) { case AspectDependencyPosition.Before: BeforeRoles.Add(role); break; case AspectDependencyPosition.Any: AnyRoles.Add(role); break; case AspectDependencyPosition.After: AfterRoles.Add(role); break; default: throw new ArgumentOutOfRangeException("position"); } }
public MenuItem(string name, string displayText, uint position, string url, string cssClass = "fa fa-circle-o", List <AuthorizeAttribute> microsoftAuthorizeAttributes = null) { Name = name; Position = position; Url = url; DisplayText = displayText; CssClass = cssClass; if (microsoftAuthorizeAttributes != null) { // Get the authorized roles and policies foreach (var attr in microsoftAuthorizeAttributes) { if (!string.IsNullOrWhiteSpace(attr.Roles)) { AnyRoles.AddRange(attr.Roles.Split(',')); } if (!string.IsNullOrWhiteSpace(attr.Policy)) { AllPolicies.Add(attr.Policy); } } } }