示例#1
0
        /// <summary>
        /// Adds user to a AspNetRole and all other roles that are lower in the Roles Enum hierarchy
        /// </summary>
        /// <param name="user">Application User</param>
        /// <param name="role">Roles enum role</param>
        public static void AddUserToRole(ApplicationUser user, Roles role)
        {
            var context = new ApplicationDbContext();
            var UserManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(context));
            var roleManager = new RoleManager<IdentityRole>(new RoleStore<IdentityRole>(context));

            List<string> roles = new List<string>();

            if (roleManager.RoleExists(role.ToString()))
            {
                //ascertain level, add to this role and every role beneath it
                int level = (int)role;
                foreach (Roles roleVal in Enum.GetValues(typeof(Roles)))
                {
                    if ((int)roleVal >= level)
                    {
                        roles.Add(roleVal.ToString());
                    }
                }
                UserManager.AddToRoles(user.Id, roles.ToArray());
            }
            else
            {
                throw new Exception("Role does not exist");
            }
        }
示例#2
0
        public void UpdateUserRoles(User user, List <string> roles)
        {
            var currentRoles = Roles.GetRolesForUser(user.UserName);

            if (currentRoles != null && currentRoles.Length > 0)
            {
                Roles.RemoveUserFromRoles(user.UserName, currentRoles);
            }

            Roles.AddUserToRoles(user.UserName, roles.ToArray());
        }
示例#3
0
 public void AddUserToRole(User user, string role)
 {
     Roles.AddUserToRole(user.UserName, role);
 }
示例#4
0
 public void DeleteRole(string roleName)
 {
     Roles.DeleteRole(roleName, true);
 }
示例#5
0
 public void CreateRole(string roleName)
 {
     Roles.CreateRole(roleName);
 }
示例#6
0
        public List <string> GetRolesForUser(string userName)
        {
            var roles = Roles.GetRolesForUser(userName);

            return(roles.ToList());
        }
示例#7
0
        public List <string> GetRoles()
        {
            var roles = Roles.GetAllRoles();

            return(roles.ToList());
        }
示例#8
0
 public Roles GetRoles(ISecurableSection section, Roles user, Roles admin)
 {
     if (section.IsAdmin()) return admin | user;
     if (section.HasAccess()) return user;
     return Roles.None;
 }
示例#9
0
 public bool IsInRole(Roles roles)
 {
     return (Role & roles) != Roles.None || Role.HasFlag(Roles.GlobalAdmin);
 }
示例#10
0
 protected void SetAssociationDisplay(Roles role)
 {
     AssociationPanel.Visible = role == Roles.Agent || role == Roles.Customer;
     if (rbAgent.Checked)
     {
         ddlSelector.DataSource = AgentService.GetAllAgents();
         ddlSelector.DataTextField = "AgentName";
         ddlSelector.DataValueField = "Id";
         ddlSelector.DataBind();
     }
     else if (rbCustomer.Checked)
     {
         ddlSelector.DataSource = ContactService.GetAllContacts();
         ddlSelector.DataTextField = "Name";
         ddlSelector.DataValueField = "Id";
         ddlSelector.DataBind();
     }
 }
示例#11
0
文件: Users.cs 项目: robgray/Tucana
        public static bool IsInRole(User user, Roles role)
        {
            if (user == null) return false;

            if (user is AgentUser) {
                return role == Roles.Agent;
            }
            if (user is ContactUser) {
                return role == Roles.Customer;
            }
            if (user is SupportUser) {
                if (role == Roles.BackOffice || role == Roles.Support)
                    return true;
                return false;
            }
            return role == Roles.BackOffice;
        }
示例#12
0
文件: Users.cs 项目: robgray/Tucana
 public static bool IsInRole(string username, Roles role)
 {
     User user = GetUser(username);
     if (user != null)
     {
         return IsInRole(user, role);
     }
     return false;
 }