zoukankan      html  css  js  c++  java
  • 设备资源管理系统-角色管理

    设备资源管理系统-角色管理

    • 用户、角色、权限关系

      

      权限:

          a:仪器设备管理

          b:设备校准检修

          c:设备购置计划

          d:

          e:

          .

          .

          .

      角色与权限:

        系统管理员:

            a;b;c;d;e;f;g;h;i;j;k;

        高级管理员:

            a;b;c;d;e;i;j;k;

        业务用户:

            a;b;f;g;h;i;

      结论:

        1、用户与角色是多对多的关系

            2、权限与角色是多对多的关系

            3、角色在三者之间的关系中起到承上启下的作用

    • 数据库设计

      用户表:

          用户ID                         用户姓名           登录名        所属单位

      402881e43           刘备             liubei           2(上海)

            1                              关羽             guanyu           1(北京) 

            2                              张飞             zhangfei         1(北京)               

       

      用户与角色的关联表:

           主键ID         用户ID                         角色ID         备注

              1       402881e43             1        

              2               1                              2       

              3               1                              1    

      

      角色表:

            角色ID        角色名称

             1              系统管理员

             2              高级管理员

             3              业务用户

             4              普通用户

      角色与权限关联表:

            角色ID         权限code(集合)      备注

             1             abcdefghijk

             2             abcdeijk

             3             abfghi

      权限表:

          权限code       权限名称            父级节点权限code       父级节点权限名称    

            a           仪器设备管理            drvie                  技术设施维护管理

            b           设备校准检修            drvie                  技术设施维护管理

            c           设备购置计划            drvie                  技术设施维护管理

            d           资料图纸管理            image                  技术资料图纸管理

      

        存放到Function.xml文件中文件形式,如图:

        

      建立2张关联表(用户与角色的关联表,角色与权限的关联表)

    • 角色管理首页

      操作:

          1、通过“角色类型”,查询数据字典,获取页面中的角色列表。

          2、读取Function.xml文件中所有的权限信息,并显示在页面上。(使用dom4j读取)

      部分代码:

        String parentCode = "";

        List<XmlObject> list = request.getAttribute("xmlList");

        for(int i=0;i<list.size;i++){

            XmlObject xmlObject = list.get(i);

            if(parentCode.equal(xmlObject.getParentCode())){

                System.out.println(xmlObject.getName());

            }

          //每次遍历先走else

          else{

              parentCode = xmlObject.getParentCode();

              System.out.println(xmlObject.getParentName());

              System.out.println(xmlObject.getName());

          }

    }

    • 角色查询

      操作:

         权限分配:

            1、从页面中获取roleid的参数,使用roleid查询角色权限关联表,获取当前角色所具有的权限。

            2、读取Function.xml配置文件,获取系统所有的权限

            3、匹配:当前角色具有的权限与系统所有的权限进行匹配:

                如果匹配:则页面的复选框要选中

                如果不匹配:则页面的复选框不选中

                使用flag字段控制:如果flag=1,则表示页面复选框选中;如果flag=0,则表示页面复选框不选中。

         用户分配:

             1、从页面中获取roleid的参数,使用roleid查询用户角色关联表,获取当前角色所具有的用户。

             2、从用户表获取所有的在职员工

             3、匹配:当前角色下的用户与所有的在职用户进行匹配:

                如果匹配:则页面中复选框要选中

                如果不匹配:则页面中的复选框不选中

                使用roleflag字段控制:如果roleflag=1,则表示页面的复选框选中,如果roleflag=0,则表示页面复选框不选中(能否使用一条SQL语句完成上述1,2,3的操作)

    • 角色新增

      操作:

          1、从页面上获取roleid、选中的权限name=selectoper、选中的用户name=selectuser。

          2、保存角色和权限的关联表

               1)通过roleid查询角色权限关联表,

                  如果存在记录,执行update()的操作

                  如果不存在记录,执行save()的操作

          3、保存角色和用户的关联表

               1)通过roleid组织条件,删除用户角色关联表的所有匹配roleid的记录

               2)组织新增的用户和当前角色,向用户角色关联表中新增记录。

  • 相关阅读:
    极验滑动验证码
    保利威视频播放
    Redis
    DRF 解析器和渲染器
    DRF 分页组件
    DRF 权限和频率
    Nginx反向代理
    Laravel使用反向migrate 和 iseed扩展导出表数据
    psr规范发展历程
    supervisor
  • 原文地址:https://www.cnblogs.com/yangml/p/3819133.html
Copyright © 2011-2022 走看看