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,如需转载请自行联系原作者
相关文章
|
SQL 存储 开发框架
ASP.NET 用户和角色管理 附加代码详解
ASP.NET 用户和角色管理 附加代码详解
ASP.NET 用户和角色管理 附加代码详解
|
SQL 开发框架 前端开发
.NET&Web前端-大三-国足信息后台管理——球员管理
.NET&Web前端-大三-国足信息后台管理——球员管理
159 0
.NET&Web前端-大三-国足信息后台管理——球员管理
|
前端开发 数据库
.Net MVC订单后台管理系统源码编码过程(2)
.Net MVC订单后台管理系统源码编码过程(2)
111 0
.Net MVC订单后台管理系统源码编码过程(2)
|
SQL 开发框架 前端开发
.Net MVC订单后台管理系统源码编码过程(1)
.Net MVC订单后台管理系统源码编码过程(1)
126 0
.Net MVC订单后台管理系统源码编码过程(1)
|
开发框架 JSON 前端开发
ASP.NET MVC5----常见的数据注解和验证
ASP.NET MVC5----常见的数据注解和验证
301 0
ASP.NET MVC5----常见的数据注解和验证
|
存储 开发框架 前端开发
ASP.NET MVC5----了解我们使用的@HTML帮助类
ASP.NET MVC5----了解我们使用的@HTML帮助类
241 0
ASP.NET MVC5----了解我们使用的@HTML帮助类
|
传感器 设计模式 开发框架
ASP.NET MVC5学习笔记01
ASP.NET MVC5学习笔记01
101 0
ASP.NET MVC5学习笔记01
|
存储 开发框架 安全
ASP.NET Core 3.0一个jwt的轻量角色/用户、单个API控制的授权认证库
ASP.NET Core 3.0一个jwt的轻量角色/用户、单个API控制的授权认证库
163 0
ASP.NET Core 3.0一个jwt的轻量角色/用户、单个API控制的授权认证库
|
存储 开发框架 安全
CZGL.Auth: ASP.NET CoreJ wt角色授权快速配置库
CZGL.Auth: ASP.NET CoreJ wt角色授权快速配置库
130 0
|
存储 开发框架 安全
ASP.NET Core 使用JWT 自定义角色/策略授权需要实现的接口
ASP.NET Core 使用JWT 自定义角色/策略授权需要实现的接口
360 0