您的位置:首页 > 其它

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

2014-07-01 21:59 483 查看
设备资源管理系统-角色管理

用户、角色、权限关系

  



  权限:

   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)组织新增的用户和当前角色,向用户角色关联表中新增记录。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: