Exemplo n.º 1
0
        public string[] GetPermissionLevels(string currentUserName = null)
        {
            if (!string.IsNullOrEmpty(currentUserName))
            {
                string[] roles = GetUserRoles(currentUserName);

                if (roles.Contains(PermissionLevels.Administrator))
                {
                    return(roles);
                }
            }

            return(PermissionLevels.GetPermissionLevels());
        }
Exemplo n.º 2
0
        public string[] GetUserRoles(string userName)
        {
            IList <Role>  userRoles = userRepository.GetUserRoles(userName);
            List <string> roles     = new List <string>();

            foreach (Role role in userRoles)
            {
                string[] permissions = role.PermissionLevels.Split(new char[] { ',' });

                //Administrator will have all the permissions
                if (permissions.Contains(PermissionLevels.Administrator))
                {
                    roles = new List <string>(PermissionLevels.GetPermissionLevels());
                    roles.Add(PermissionLevels.Administrator);
                    break;
                }

                roles.AddRange(permissions);
            }

            return(roles.Distinct().ToArray());
        }