Exemple #1
0
        /// <summary>
        /// 新增 角色菜单按钮权限
        /// </summary>
        /// <returns></returns>
        public ActionResult SetRoleMenuButton()
        {
            try
            {
                string menuButtonId = Request["menuButtonId"].Trim(',');
                int    roleId       = Convert.ToInt32(Request["roleId"]);
                var    dal          = DALUtility.Role;
                bool   res; //DALUtility.Role.Authorize(roleId, menuButtonId); //DALUtility.Role.Authorize(roleId, menuButtonId)
                try
                {
                    //先删除所有权限 再重新批量插入
                    DALUtility.MenuButton.DelRoleMenuButtonByRoleId(roleId);
                    List <RoleMenuButtonEntity> addlist = new List <RoleMenuButtonEntity>();

                    string[] menubuttonids = menuButtonId.Split(',');
                    //用户新勾选的按钮(要添加本角色下的按钮)
                    if (!string.IsNullOrEmpty(menuButtonId))
                    {
                        List <int> listParentMenuId = new List <int>();   //需要添加的父目录id
                        for (int i = 0; i < menubuttonids.Length; i++)
                        {
                            int menuId   = Convert.ToInt32(menubuttonids[i].Split(' ')[0]);
                            int buttonId = Convert.ToInt32(menubuttonids[i].Split(' ')[1]);

                            RoleMenuButtonEntity roleMenuButton = new RoleMenuButtonEntity();
                            roleMenuButton.RoleId   = roleId;
                            roleMenuButton.MenuId   = menuId;
                            roleMenuButton.ButtonId = buttonId;
                            addlist.Add(roleMenuButton);
                        }
                    }
                    if (addlist.Count != 0)
                    {
                        res = dal.Authorize(addlist);
                    }
                    else
                    {
                        res = true;
                    }
                }
                catch
                {
                    res = false;
                }

                if (res)
                {
                    return(Content("{\"msg\":\"授权成功!\",\"success\":true}"));
                }
                else
                {
                    return(Content("{\"msg\":\"授权失败!\",\"success\":false}"));
                }
            }
            catch (Exception ex)
            {
                return(Content("{\"msg\":\"授权失败," + ex.Message + "\",\"success\":false}"));
            }
        }
Exemple #2
0
        /// <summary>
        /// 角色授权
        /// </summary>
        /// <param name="roleId">要授权的角色Id</param>
        /// <param name="roleMenuButtonId">菜单按钮Id 格式:5 1,5 2,7 1,10 1,11 1</param>
        public bool Authorize(int roleId, string roleMenuButtonId)
        {
            try
            {
                //先删除所有权限 再重新批量插入
                new MenuButtonBLL().DelRoleMenuButtonByRoleId(roleId);
                List <RoleMenuButtonEntity> addlist = new List <RoleMenuButtonEntity>();

                string[] menubuttonids = roleMenuButtonId.Split(',');
                //用户新勾选的按钮(要添加本角色下的按钮)
                if (!string.IsNullOrEmpty(roleMenuButtonId))
                {
                    List <int> listParentMenuId = new List <int>();   //需要添加的父目录id
                    for (int i = 0; i < menubuttonids.Length; i++)
                    {
                        int menuId   = Convert.ToInt32(menubuttonids[i].Split(' ')[0]);
                        int buttonId = Convert.ToInt32(menubuttonids[i].Split(' ')[1]);

                        RoleMenuButtonEntity roleMenuButton = new RoleMenuButtonEntity();
                        roleMenuButton.RoleId   = roleId;
                        roleMenuButton.MenuId   = menuId;
                        roleMenuButton.ButtonId = buttonId;
                        addlist.Add(roleMenuButton);
                    }
                }
                if (addlist.Count != 0)
                {
                    return(dal.Authorize(addlist));
                }
                else
                {
                    return(true);
                }
            }
            catch
            {
                return(false);
            }
        }