用户权限管理系统

用户权限管理系统该项目主要是完成用户权限系统的开发 该系统分为登陆 用户管理 角色管理和菜单管理 4 个模块 分别在登陆模块实现了简单的登陆功能 用户管理模块实现了用户的增加 删除 修改 查看信息 用户角色分配等功能 角色管理模块实现了角色的新增 修改和删除 对应角色的权限查看 重新给各个角色分配功能等功能 菜单管理模块实现了菜单的增删改功能 本项目结构上分为表现层 业务层和数据访问层 层次间的依赖关系自下到上

1功能一

1.1、功能名称

系统登录功能

1.2、客户端界面及描述

登陆界面如图1所示。

用户权限管理系统

图1登陆界面

登录按钮功能描述:

  1. 判断用户名密码是否输入 是:继续,否:return;
  2. 获取用户名密码,使用ajax提交服务器端C#进行验证,并返回验证结果;
  3. 客户端通过ajax回调函数获取服务端的验证结果,成功:页面跳转Main.aspx; 否则提示登录失败信息。

1.3、客户端主要核心脚本

<script>

        $(function () {

            $(‘#btnOK’).click(function () {

                var usercode = $(‘#usercode’).val();

                var pwd = $(‘#pwd’).val();

                $.ajax({

                    type: ‘post’,

                    url: “Login.aspx?action=login”,

                    data: { usercode: usercode, pwd: pwd },

                    //contentType: ‘application/json’,

                    dataType: ‘json’,

                    success: function (data) {

                        if (data.isSuccessed) {

                            location.href = “Main.aspx”;

                        }

                        else

                            alert(data.Message);

                    },

                    error: function (xmlReq, err, c) {

                        alert(“error:” + err);

                    }

                });

            })

        })

    
script>

1.4、服务器端代码

private void CheckLogin()

    {

        string usercode = Request[“usercode”];

        string pwd = Request[“pwd”];

        SYSTEM.BLL.sysuser bll = new SYSTEM.BLL.sysuser();

        var user = bll.GetModel(usercode);

        if (user != null)

        {

            if (user.pwd == pwd)

            {

                Session[“username”] =user.username.ToString();  //记录当前用户在session 里面

                WriteMessage(true, “登陆成功”);

            }

            else

            {

                WriteMessage(false, “登陆失败”);

            }

        }

        else

        {

            WriteMessage(false, “登陆失败”);

        }

    }

2功能二

2.1、功能名称

用户管理功能

2.2、客户端界面及描述

用户管理主界面如图2所示,增加用户如图3所示,修改用户如图4所示,用户角色分配如图5所示。

用户权限管理系统

图2用户管理主界面

用户管理主界面描述:点击左边系统设置的用户管理按钮,进入主界面,查看所有用户信息。

用户权限管理系统

图3新增用户

新增用户功能描述:点击右边界面的新增按钮,弹出新增数据界面,对用户进行增加操作。点击弹出窗口中的确定,即可增加成功;如果点击关闭,即可取消添加。

用户权限管理系统

图4修改用户

修改用户功能描述:点击右边界面的修改按钮,弹出修改数据界面,对用户进行修改操作。点击弹出窗口中的确定,即可修改成功;如果点击关闭,即可取消修改。

用户权限管理系统

图5用户角色分配

用户角色分配功能描述:点击右边界面的用户角色按钮,弹出角色数据界面,对用户进行角色分配操作。点击弹出窗口中的确定,即可完成角色分配;如果点击关闭,即可取消分配。

2.3、客户端主要核心脚本

2.3.1用户管理主界面

  function loaddata() {

                $(“#dg”).datagrid({

                    url: “userlist.aspx?action=select”,//加载的URL  

                    isField: “usercode”,

                    pagination: true,//显示分页  

                    pageSize: 5,//分页大小  

                    pageList: [5, 10, 15, 20],//每页的个数  

                    fit: true,//自动补全  

                    fitColumns: true,

                    toolbar: ‘#tb’,

                    sortName: ‘usercode’,

                    queryParams: {},//condition(),

                    singleSelect: true,

                    //iconCls: “icon-save”,//图标  

                    //title: “用户管理”,

                    columns: [[      //每个列具体内容  

                              { field: ‘usercode’, title: ‘用户名’, width: 100, sortable: true },

                              { field: ‘username’, title: ‘姓名’, width: 100, sortable: true },

                              {

                                  field: ‘pwd’, title: ‘密码’, width: 100,

                                  formatter: function (value, row, index) {

                                      return ;

                                  }

                              },

                              { field: ‘cmt’, title: ‘备注’ }

                    ]]

                })

            }

2.3.1增加用户

   $(‘#btnAdd’).click(function () {

                $(‘#w’).dialog({

                    title: ‘新增数据’,

                    width: 400,

                    height: 200,

                    closed: false,

                    cache: false,

                    href: ‘useredit.aspx’,

                    modal: true,

                    buttons: [{

                        text: ‘确定’,

                        iconCls: ‘icon-ok’,

                        handler: function () {

                            //数据保存代码                            

                            $(‘#ff’).form(‘submit’, {

                                url: “useredit.aspx?action=addrecord”,    //表单提交地址 并带参数

                                onSubmit: function () {

                                    return $(this).form(‘validate’);  //验证表单是否通过验证规则

                                },

                                success: function (returndata) {

                                    var obj = eval(“(“ + returndata + “)”)

                                    if (obj.isSuccessed) {

                                        $(‘#dg’).datagrid(‘reload’);   //刷新数据表格datagrid

                                        $(‘#w’).dialog(‘close’);    //关闭弹出新增窗口

                                        $.messager.show({

                                            title: ‘提示’,

                                            msg: obj.Message,

                                            timeout: 2000,

                                            showType: ‘show’

                                        });

                                    }

                                    else {

                                        alert(‘保存失败!’);

                                    }

                                }

                            });

                        }

                    }, {

                        text: ‘关闭’,

                        iconCls: ‘icon-delete’,

                        handler: function () {

                            $(‘#w’).dialog(‘close’);                     //关闭弹出新增窗口

                        }

                    }]

                });

            });

2.3.1修改用户

  $(‘#btnEdit’).click(function () {

                var row = $(‘#dg’).datagrid(‘getSelected’);

                if (row == null) {

                    $.messager.show({

                        title: ‘提示’,

                        msg: ‘请选择您要编辑的数据.’,

                        timeout: 2000,

                        showType: ‘slide’

                    });

                    return;

                }

                $(‘#w’).dialog({

                    title: ‘修改数据’,

                    width: 400,

                    height: 200,

                    closed: false,

                    cache: false,

                    href: ‘useredit.aspx?action=update&id=’ + row.usercode,

                    modal: true,

                    buttons: [{

                        text: ‘确定’,

                        iconCls: ‘icon-ok’,

                        handler: function () {

                            //数据保存代码                            

                            $(‘#ff’).form(‘submit’, {

                                url: “useredit.aspx?action=updaterecord&id=” + row.usercode,    //表单提交地址 并带参数

                                onSubmit: function () {

                                    return $(this).form(‘validate’);  //验证表单是否通过验证规则

                                },

                                success: function (returndata) {

                                    var obj = eval(“(“ + returndata + “)”)

                                    if (obj.isSuccessed) {

                                        $(‘#dg’).datagrid(‘reload’);   //刷新数据表格datagrid

                                        $(‘#w’).dialog(‘close’);    //关闭弹出新增窗口

                                        $.messager.show({

                                            title: ‘提示’,

                                            msg: obj.Message,

                                            timeout: 2000,

                                            showType: ‘show’

                                        });

                                    }

                                    else {

                                        alert(‘保存失败!’);

                                    }

                                }

                            });

                        }

                    }, {

                        text: ‘关闭’,

                        iconCls: ‘icon-delete’,

                        handler: function () {

                            $(‘#w’).dialog(‘close’);                     //关闭弹出新增窗口

                        }

                    }]

                });

            });

2.3.1删除用户

    $(‘#btnDel’).click(function () {

                var row = $(‘#dg’).datagrid(‘getSelected’);

                if (row == null) {

                    $.messager.show({

                        title: ‘提示’,

                        msg: ‘请选择您要删除的数据.’,

                        timeout: 2000,

                        showType: ‘slide’

                    });

                    return;

                }

                $.ajax({

                    url: ‘useredit.aspx?action=delete&id=’ + row.usercode,

                    success: function (data) {

                      

                        if (data.isSuccessed) {

                            $(‘#dg’).datagrid(‘reload’);   //刷新数据表格datagrid

                            $.messager.show({

                                title: ‘提示’,

                                msg: data.Message,

                                timeout: 2000,

                                showType: ‘show’

                            });

                        }

                        else {

                            alert(‘删除失败!’);

                        }

                    }

                })

            });

2.3.1用户角色分配

  $(‘#btnrole’).click(function () {

                var row = $(‘#dg’).datagrid(‘getSelected’);

                if (row == null) {

                    $.messager.show({

                        title: ‘提示’,

                        msg: ‘请选择您要分配角色的用户.’,

                        timeout: 2000,

                        showType: ‘slide’

                    });

                    return;

                }

                $(‘#w’).dialog({

                    title: ‘角色数据’,

                    width: 400,

                    height: 200,

                    closed: false,

                    cache: false,

                    href: ‘userrolelist.aspx?action=choose&id=’ + row.usercode,

                    modal: true,

                    buttons: [{

                        text: ‘确定’,

                        iconCls: ‘icon-ok’,

                        handler: function () {

                            var rolerow = $(‘#dgrole’).datagrid(‘getSelected’);

                            $.ajax({

                                type: “GET”,

                                url: “userrolelist.aspx?action=save”,                                    data: { usercode: row.usercode, roleid: rolerow.roleid },

                                                              success: function (returndata) {

                                    var obj = eval(“(“ + returndata + “)”);

                                    if (obj.isSuccessed) {

                                        $(‘#w’).dialog(‘close’);

                                    }

                                    else { }

                                }

                            });

                        }

                    }, {

                        text: ‘关闭’,

                        iconCls: ‘icon-delete’,

                        handler: function () {

                            $(‘#w’).dialog(‘close’);                     //关闭弹出新增窗口

                        }

                    }]

                });

            });

2.4、服务器端代码

  private void GetList()

    {

            int pageindex = int.Parse(Request.Form[“page”]);

            int pagesize = int.Parse(Request.Form[“rows”]);

            string sort = Request.Form[“sort”];

            string order = Request.Form[“order”];

            string value = Request.Form[“value”];

            SYSTEM.BLL.sysuser bll = new SYSTEM.BLL.sysuser();

            DataTable dt = new DataTable();

            ResultData data = new ResultData();

            string strOrder = “”;

            if(!string.IsNullOrEmpty(sort))

            {

                strOrder = sort + ” “ + order;

            }

            string strWhere = “”;

            if (!string.IsNullOrEmpty(value))

            {

                strWhere = string.Format(” usercode like ‘%{0}%’ or username like ‘%{0}%'”, value);

            }

            data.total = bll.GetRecordCount(strWhere);

            data.rows = bll.GetListByPage(strWhere, strOrder, (pageindex – 1) * pagesize + 1, pageindex * pagesize).Tables[0];

            WriteData(Newtonsoft.Json.JsonConvert.SerializeObject(data));

        }      

 private void Save()

    {     

        model.usercode = Request.Form[“usercode”];

        model.username = Request.Form[“username”];

        model.cmt = Request.Form[“cmt”];

        model.pwd = Request.Form[“pwd”];

        if (blluser.Add(model))

        {

            WriteMessage(true, “添加成功”);

        }

        else

        {

            WriteMessage(false, “添加失败”);

        }      

    }

    private void GetOne()

    {

        SYSTEM.Model.sysuser model = blluser.GetModel(Request[“id”].ToString());

        WriteData(Newtonsoft.Json.JsonConvert.SerializeObject(model));       

    }

    private void Update()

    {

        //新建对象

        SYSTEM.Model.sysuser model = blluser.GetModel(Request[“id”].ToString());       

        model.username = Request.Form[“username”].ToString();

        model.cmt = Request.Form[“cmt”].ToString();

        if (blluser.Update(model))

        {

            WriteMessage(true, “修改成功!”);   //响应,向前端传送数据

        }

        else

        {

            WriteMessage(false, “修改失败!”);

        }       

    }

    private void Delete()

    {

        if (blluser.Delete(Request[“id”].ToString()))

        {

            WriteMessage(true, “删除成功!”);   //响应,向前端传送数据

        }

        else

        {

            WriteMessage(false, “删除失败!”);

        }

    }

3功能三

3.1、功能名称

角色管理功能

3.2、客户端界面及描述

角色权限查看如图6所示,角色权限保存如图7所示。

用户权限管理系统

图6角色权限查看

角色权限查看功能描述:点击查看,即可查看各个角色的对应权限。

用户权限管理系统

图7角色权限保存

角色权限保存功能描述:先选择一个角色,再在功能中选择功能,点击保存。再点击查看,即可添加角色对应的功能。

3.3、客户端主要核心脚本

 function loadtreedata() {

            $(‘#tg’).treegrid({

                title: ‘系统功能列表’,

                fit: true,

                animate: true,//是否用动画效果

                collapsible: false,//是否可折叠

                //pagination: true,//分页控件

                rownumbers: true,//行号

                //fitColumns: true,

                url: ‘rolelist.aspx?action=menuselect’,

                method: ‘get’,

                toolbar: ‘#menutb’,

                idField: ‘id’,//根据那个字段判断树节点关系

                treeField: ‘funname’,//根据那个列展现树

                showFooter: false,//是否使用页脚

                sortName: ‘funid’,//默认排序字段,后台通过参数名“sort”获取

                singleSelect: false,

                //sortOrder: ‘desc’,//默认排序规则,后台通过参数名“order”获取

                columns: [[

                    { title: , field: ‘funid’, hidden: true },

                    { title: ‘功能’, field: ‘funname’, width: 220, sortable: true },

                    { title: ‘地址’, field: ‘url’, width: 150, sortable: true },

                    { title: ‘图标’, field: ‘icno’, width: 80 },

                    { title: ‘备注’, field: ‘cmt’, width: 100, sortable: true }

                ]],

                onBeforeExpand: function (node) {

                },

                onLoadSuccess: function () {

                },

                onClickRow: function (node) {

                    //点击行触发

                },

                onClickCell: function (rowIndex, field, value) {
//点击表格触发

                }

            });

        }

 function loaddata() {

            $(“#dg”).datagrid({

                url: “rolelist.aspx?action=select”,//加载的URL  

                isField: “roleid”,

                pagination: true,//显示分页  

                pageSize: 5,//分页大小  

                pageList: [5, 10, 15, 20],//每页的个数  

                fit: true,//自动补全  

                fitColumns: true,

                toolbar: ‘#tb’,

                sortName: ‘roleid’,

                queryParams: {},//condition(),

                singleSelect: true,

                //iconCls: “icon-save”,//图标  

                //title: “用户管理”,

                columns: [[      //每个列具体内容  

                          { field: ‘roleid’, title: , hidden: true },

                          { field: ‘rolename’, title: ‘角色名称’, width: 200, sortable: true },

                          { field: ‘cmt’, title: ‘备注’, width: 500 },

                          {

                              field: ‘right’, title: ‘权限’,

                              formatter: function (value, row, index) {

                                  return  + row.roleid + ‘)”>查看;

                              }

                          },

                ]]

            })

        }

  $(‘#btnSaveMenu’).on(‘click’, function () {

                var row = $(‘#dg’).datagrid(‘getSelected’);

                if (row == null) {

                    $.messager.show({

                        title: ‘提示’,

                        msg: ‘请选择你要分配功能的角色.’,

                        timeout: 2000,

                        showType: ‘slide’

                    });

                    return;

                }

                var newfunids = [];

                var rows = $(‘#tg’).treegrid(‘getSelections’);

                for (i = 0 ; i < rows.length; i++) {

                    newfunids.push(rows[i].id);

                }

                $.ajax({

                    url: ‘rolelist.aspx?action=savemenu&id=’ + row.roleid,

                    type: ‘post’,

                    data: JSON.stringify(newfunids),

                    success: function (data) {

                        var obj = eval(“(“ + data + “)”)

                        if (obj.isSuccessed) {

                            $(‘#tg’).datagrid(‘reload’);   //刷新数据表格datagrid

                            $.messager.show({

                                title: ‘提示’,

                                msg: obj.Message,

                                timeout: 2000,

                                showType: ‘show’

                            });

                        }

                        else {

                            alert(‘保存失败!’);

                        }

                    }

                })

            });

3.4、服务器端代码

  private void SaveMenu()

        {

            SYSTEM.BLL.sysrolefun bll = new SYSTEM.BLL.sysrolefun();

            string id = Request[“id”].ToString();

            foreach(var m in  bll.GetModelList(string.Format(” roleid = {0}”, id)))

            {

                bll.Delete(m.id);

            }

            string[] strarr = HttpUtility.UrlDecode(Request.Form.ToString()).Replace(“]”, “”).Replace(“[“, “”).Split(‘,’);

            foreach(var funid in strarr)

            {

                var mm = new SYSTEM.Model.sysrolefun();

                mm.funid = decimal.Parse(funid);

                mm.roleid = decimal.Parse(id);

                bll.Add(mm);

            }

            WriteMessage(true, “OK!”);

           

        }

4功能

4.1、功能名称

菜单管理功能

4.2、客户端界面及描述

菜单管理主界面如图8所示,新增菜单如图9所示,修改菜单如图10所示。

用户权限管理系统

图8菜单管理主界面

菜单管理主界面描述:点击左边的菜单管理按钮,打开如上图所示的界面。对菜单的相关信息进行管理。

用户权限管理系统

图9增加菜单

增加菜单功能描述:点击页面的新增按钮,弹出新增数据界面,对需要的菜单进行添加。点击确定,即可完成添加;点击关闭,添加取消。

用户权限管理系统

图10修改菜单

修改菜单功能描述:点击页面的修改按钮,弹出修改数据界面,对需要的菜单进行修改。点击确定,即可完成修改;点击关闭,修改取消。

4.3、客户端主要核心脚本

function loaddata() {

            $(‘#tg’).treegrid({

                title: ,

                fit: true,

                animate: true,//是否用动画效果

                collapsible: false,//是否可折叠

                //pagination: true,//分页控件

                rownumbers: true,//行号

                //fitColumns: true,

                url: ‘menulist.aspx?action=select’,

                method: ‘get’,

                toolbar: ‘#tb’,

                idField: ‘id’,//根据那个字段判断树节点关系

                treeField: ‘funname’,//根据那个列展现树

                showFooter: false,//是否使用页脚

                sortName: ‘funid’,//默认排序字段,后台通过参数名“sort”获取

                //sortOrder: ‘desc’,//默认排序规则,后台通过参数名“order”获取

                columns: [[

                    { title: ‘功能’, field: ‘funname’, width: 220, sortable: true },

                    { title: ‘地址’, field: ‘url’, width: 150, sortable: true },

                    { title: ‘图标’, field: ‘icno’, width: 80 },

                    { title: ‘备注’, field: ‘cmt’, width: 100, sortable: true }

                ]],

                onBeforeExpand: function (node) {

                },

                onLoadSuccess: function () {

                },

                onClickRow: function (node) {

                    //点击行触发

                },

                onClickCell: function (rowIndex, field, value) {
//点击表格触发

                }

            });

        }

<script>

        //获取当前窗口的操作类型

        var action = <% =action%>;

        var id = <% =id%>;

        $(function () {

            loadform();  //如果是编辑进入,需要加载编辑数据

            $(‘#pid’).combobox({

                url:‘menuedit.aspx?action=combobox’,

                valueField:‘funid’,

                textField:‘funname’

            });

            //$(‘#cc’).combotree({

            //    url: ‘get_data.php’,

            //    required: true

            //});

        })

        function loadform() {

            if (action == ‘update’) {

                $.ajax({

                    url: ‘menuedit.aspx?action=getrecord&id=’ + id,

                    success: function (data) {

                        data = eval(‘(‘ + data + ‘)’);

                        $(‘#ff’).form(‘load’, data);

                    }

                })

            }

        }

    
script>

4.4、服务器端代码

  private void GetTreeList()

        {

            SYSTEM.BLL.sysfunction bll = new SYSTEM.BLL.sysfunction();

            DataTable dt = new DataTable();

            ResultData data = new ResultData();

          

            data.total = bll.GetRecordCount(“”);

            data.rows = bll.GetTreeList(“”).Tables[0];

            WriteData(Newtonsoft.Json.JsonConvert.SerializeObject(data));

        }

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/200302.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月20日 上午11:07
下一篇 2026年3月20日 上午11:07


相关推荐

  • JWT单点登录的三种解决方案「建议收藏」

    JWT单点登录的三种解决方案「建议收藏」看过不少JWT和单点登录系统的文章,大部分说的比较片面。这里就根据自己的实际开发经验谈一下我的理解。可以总结为以下三种方案:三种方案:1.纯Jwt2.Jwt+认证中心Redis3.Jwt+认证中心Redis+多系统Redis1.纯Jwt方案1.用户去认证中心登录,认证中心生成jwt,返回给客户端。2.客户端携带jwt请求多个系统3.每个系统各自解析jwt,取出用户信息。能解析成功就说明jwt有效.

    2022年5月21日
    134
  • KNIME学习记录

    KNIME学习记录KNIME 的介绍 KNIME 的按钮说明 KNIME 的例子 KNIME 的注意事项 KNIME 的介绍 KNIME 发音为 naim 就是用 k 就像 knife 一样 它由康斯坦茨大学的 MichaelBerth 小组开发 KNIME 系统是基于 Eclipse 开发环境来精心开发的数据挖掘工具 无需安装 方便使用 KNIME 也是用 Java 开发的 可以扩展使用

    2026年3月19日
    3
  • DotNetty完全教程(一)

    DotNetty完全教程(一)写本系列文章的目的我一直以来都在从事 NET 相关的工作 做过工控 做过网站 工作初期维护过别人写的网络库 后来自己写网络库 我发现在使用 C 编程的程序员中 能否写出高性能的网络库一直都是考验一个程序员能力的标杆 为了写出高性能的网络库 我查阅了很多资料 发现 Java 的 Netty 有着得天独厚的设计以及实现优势 Java 也因为 Netty 的存在 在开发大吞吐量的应用程序中得心应手 我想 NET 程序

    2026年3月18日
    3
  • 33 Redis 主从集群中脑裂问题

    33 Redis 主从集群中脑裂问题文章目录前言一 为什么会发生脑裂 二 为什么脑裂会导致数据丢失 三 如何应对脑裂问题 总结前言在使用主从集群时 主从集群有 1 个主库 5 个从库和 3 个哨兵实例 在使用的过程中 发现客户端发送的一些数据丢失了 这直接影响到了业务层的数据可靠性 这其实是主从集群中的脑裂问题导致的 脑裂是指在主从集群中 同时有两个主节点 它们都能接收写请求 而脑裂最直接的影响 是客户端不知道应该往哪个主节点写入数据 结果就是不同的客户端会往不同的主节点上写入数据 而且严重的话 脑裂会进一步导致数据丢失 一 为什

    2026年3月18日
    2
  • 比太钱包使用方法及冷钱包存储方案-2

    拖更一个月的我又开始更新了。过完年,恰逢数字货币开始上涨,正好是聊聊钱包的好时候。上文说到比太钱包的冷热模式,这次接上文写冷钱包模式下的发币及公钥监控操作。先从冷钱包模式下发币说起吧:1,打开钱包,点击发送按钮。2,输入收款地址和金额,并点击发送。这里无论是输入比特币金额还是法币金额,钱包会自动换算出另一种货币金额。3,输入钱包密码,准备冷钱包签名。4,生成未签名的交易信息二维码,需使用装有对应…

    2022年4月5日
    158
  • JVM调优工具总结

    JVM调优工具总结一、jps:虚拟机进程状况工具它可以列出正在运行的虚拟机进程,并显示虚拟机执行主类(MainClass,main()函数所在的类)名称以及正在运行的本地虚拟机唯一ID(LVMID);它是使用率最高的一个JDK命令行工具,因为其他的命令行工具都需要输入查询到的ID来确定要监控的是哪一个虚拟机进程。命令格式:jps[options][hostid]选项作用-q只…

    2022年5月6日
    40

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号