Exemplo n.º 1
0
 public static IReadOnlyCollection<string> GetRoles(ArticleAccessLevel? accessLevel)
 {
     switch (accessLevel)
     {
         case null:
         case ArticleAccessLevel.Anonymous:
             return Enumerable.Empty<string>().ToList();
         case ArticleAccessLevel.LoggedIn:
             return LoggedInRoles;
         case ArticleAccessLevel.Editor:
             return EditorRoles;
         case ArticleAccessLevel.SuperUser:
             return SuperUserRoles;
         case ArticleAccessLevel.Admin:
             return AdminRoles;
         case ArticleAccessLevel.Root:
             return RootRoles;
         default:
             throw new ArgumentOutOfRangeException("accessLevel");
     }
 }
Exemplo n.º 2
0
        public static bool HasAccessLevel(this IPrincipal principal, ArticleAccessLevel accessLevel)
        {
            var principalAccessLevel = principal.GetAccessLevel();

            return principalAccessLevel >= accessLevel;
        }
Exemplo n.º 3
0
        public static ArticleAccessLevel TryParse(string accessLevel, ArticleAccessLevel defaultValue)
        {
            var articleAccessLevel = TryParse(accessLevel);

            return articleAccessLevel ?? defaultValue;
        }