ASP.NET MVC5+EF6+EasyUI 后台管理系统(27)-权限管理系统-分配用户给角色
分配用户给角色,跟分配角色给用户操作是基本一致的。
打开模块维护,展开SysRole模块添加一个操作码,并赋予权限
设置好之后将权限授权给管理员,在SysRole的index添加操作码与js事件
@Html.ToolButton("btnAllot", "icon-share", "分配用户", perm, "Allot", true)
$("#btnAllot").click(function () { var row = $('#List').datagrid('getSelected'); if (row != null) { $("#modalwindow").html("<iframe width='100%' height='100%' scrolling='no' frameborder='0' src='/SysRole/GetUserByRole?roleId=" + row.Id + "&Ieguid=" + GetGuid() + "'></iframe>"); $("#modalwindow").window({ title: '分配用户', width: 720, height: 400, iconCls: 'icon-edit' }).window('open'); } else { $.messageBox5s('提示', '请选择一个需要分配用户的角色'); } });
由于和26讲基本一致,只是User改成Role,Role改成User
在SysRoleController添加以下3个方法
#region 设置角色用户 [SupportFilter(ActionName = "Allot")] public ActionResult GetUserByRole(string roleId) { ViewBag.RoleId = roleId; ViewBag.Perm = GetPermission(); return View(); } [SupportFilter(ActionName="Allot")] public JsonResult GetUserListByRole(GridPager pager,string roleId) { if (string.IsNullOrWhiteSpace(roleId)) return Json(0); var userList = m_BLL.GetUserByRoleId(ref pager, roleId); var jsonData = new { total = pager.totalRows, rows = ( from r in userList select new SysUserModel() { Id = r.Id, UserName = r.UserName, TrueName = r.TrueName, Flag = r.flag == "0" ? "0" : "1", } ).ToArray() }; return Json(jsonData); } #endregion [SupportFilter(ActionName = "Save")] public JsonResult UpdateUserRoleByRoleId(string roleId,string userIds) { string[] arr = userIds.Split(','); if (m_BLL.UpdateSysRoleSysUser(roleId,arr)) { LogHandler.WriteServiceLog(GetUserId(), "Ids:" + arr, "成功", "分配用户", "角色设置"); return Json(JsonHandler.CreateMessage(1, Suggestion.SetSucceed), JsonRequestBehavior.AllowGet); } else { string ErrorCol = errors.Error; LogHandler.WriteServiceLog(GetUserId(), "Ids:" + arr, "失败", "分配用户", "角色设置"); return Json(JsonHandler.CreateMessage(0, Suggestion.SetFail), JsonRequestBehavior.AllowGet); } }
GetUserByRole为弹出视图
GetUserListByRole为根据选择的用户获取角色并让已经分配的角色呈现选择状态 (存储过程实现)
UpdateUserRoleByRoleId更新选择的后的情况(存储过程实现)
添加BLL方法
添加DAL方法
新角色用户中间关系表,前删除关联
自行添加BLL和DAL的接口方法
添加GetUserByRole.cshtml视图
理论上效果都会出来。
本文转自ymnets博客园博客,原文链接:http://www.cnblogs.com/ymnets/p/3564071.html,如需转载请自行联系原作者