Esempio n. 1
0
        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");
            }
        }
Esempio n. 2
0
        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);
                    }
                }
            }
        }