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为根据选择的用户获取角色并让已经分配的角色呈现选择状态 (存储过程实现)

  P_Sys_GetUserByRoleId

UpdateUserRoleByRoleId更新选择的后的情况(存储过程实现)

  P_Sys_UpdateSysRoleSysUser

 添加BLL方法

  BLL

添加DAL方法

  DAL

新角色用户中间关系表,前删除关联

  P_Sys_DeleteSysRoleSysUserByRoleId

自行添加BLL和DAL的接口方法
添加GetUserByRole.cshtml视图

  GetUserByRole

理论上效果都会出来。

 

本文转自ymnets博客园博客,原文链接:http://www.cnblogs.com/ymnets/p/3564071.html,如需转载请自行联系原作者
相关文章
|
1月前
|
Windows
windows server 2019 安装NET Framework 3.5失败,提示:“安装一个或多个角色、角色服务或功能失败” 解决方案
windows server 2019 安装NET Framework 3.5失败,提示:“安装一个或多个角色、角色服务或功能失败” 解决方案
|
1月前
|
开发框架 前端开发 .NET
C# .NET面试系列六:ASP.NET MVC
<h2>ASP.NET MVC #### 1. MVC 中的 TempData\ViewBag\ViewData 区别? 在ASP.NET MVC中,TempData、ViewBag 和 ViewData 都是用于在控制器和视图之间传递数据的机制,但它们有一些区别。 <b>TempData:</b> 1、生命周期 ```c# TempData 的生命周期是短暂的,数据只在当前请求和下一次请求之间有效。一旦数据被读取,它就会被标记为已读,下一次请求时就会被清除。 ``` 2、用途 ```c# 主要用于在两个动作之间传递数据,例如在一个动作中设置 TempData,然后在重定向到另
95 5
|
11月前
|
前端开发
java202304java学习笔记第六十三天-mvc的请求-角色列表展示分析
java202304java学习笔记第六十三天-mvc的请求-角色列表展示分析
41 0
|
11月前
|
前端开发
java202304java学习笔记第六十三天-mvc的请求-角色列表展示-页面展示
java202304java学习笔记第六十三天-mvc的请求-角色列表展示-页面展示
37 0
|
11月前
|
前端开发
java202304java学习笔记第六十三天-mvc的请求-用户和角色的关系2
java202304java学习笔记第六十三天-mvc的请求-用户和角色的关系2
31 0
|
11月前
|
前端开发
java202304java学习笔记第六十三天-mvc的请求-用户和角色的关系2
java202304java学习笔记第六十三天-mvc的请求-用户和角色的关系2
45 0
|
11月前
|
前端开发
java202304java学习笔记第六十三天-mvc的请求-角色列表展示分析
java202304java学习笔记第六十三天-mvc的请求-角色列表展示分析
44 0
|
11月前
|
前端开发
java202304java学习笔记第六十三天-mvc的请求-角色列表展示-页面展示
java202304java学习笔记第六十三天-mvc的请求-角色列表展示-页面展示
34 0
java202304java学习笔记第六十三天-mvc的请求-角色列表展示-页面展示
|
11月前
|
前端开发
java202304java学习笔记第六十三天-mvc的请求-用户和角色的关系2
java202304java学习笔记第六十三天-mvc的请求-用户和角色的关系2
40 0
|
11月前
|
前端开发
java202304java学习笔记第六十三天-mvc的请求-角色列表展示-配置实现
java202304java学习笔记第六十三天-mvc的请求-角色列表展示-配置实现
63 0