zoukankan      html  css  js  c++  java
  • 权限管理

    2015.12.9 权限管理

     

    先来回顾一下,这段时间老师都讲了什么,

    周一,讲了异步传输,二级联动,以省市为例。

    周二,讲了异步传输以json作为数据载体。然后是powerdesign的使用,dwr异步传输工具类化。

    周三,讲了 权限管理。

    作业还有1购物车例子没有做,2json传输没有练习。3Powerdesign现在准备用起来,4dwr没有练习。5异步登录没有练习。

     

    那今天知道有哪些没有做,先做个标记,主要是周一晚上那个 事儿做得不对,整个节奏,都没有把握好。

    明天又会讲解 上传和下载。东西很多很庞杂。

     

    今天先处理权限,其他的东西都先别做!要不然会越落越多。

    先创建 表,利用powerdesign

     

    用户表:

    User

    user_id  user_name  user_password  user_type[先设置3]

     

    角色表:

    Role

    role_id  role_name  menu_id

     

    菜单表:

    Menu

    mune_id  menu_name  menu_url  menu_note

     

    系统管理员给用户赋角色,给角色赋菜单。

     

    在多对多的对应上,有两种处理方式,如果存在一个用户对应多个角色,一个角色对应多个用户。即:用户角色是多对多的关系。就会导致查询出来的菜单存在重复。此时有两种解决方式。

     

    public List getMenuByRoleId(String roleId) {
            List<Menu>  list =  rd.getMenuByRoleId(roleId);
            List<Menu>  list2 = md.getMenuInfo();
            
            for (int i = 0; i < list.size(); i++) {
                Menu  r1 =  list.get(i);
                for (int j = 0; j < list2.size(); j++) {
                     Menu  r2 =  list2.get(j);
                     if(r1.getId() == r2.getId()){
                         r2.setIsok(true);
                         break;
                     }
                }
            }
            return list2;
        }

    老师给出的实现方式,这里面不能用list.contains();因为这里面调用的还是父类的equals()方法。里面的比较利用的是地址进行的比较。所以每次拿出来进行比较的时候,都是新的,就实现不了去重的意义。所以可以通过遍历比较id这是一种方式。再者就是通过在重现compare方法,实现contains的比较意义。

    这里想要重新设计一下这里的模式,就是用户 角色  菜单。

     

     

    Role table

    1---人事专员

    2---人事经理

    3---薪酬专员

    4---薪酬经理

    5---人力资源部负责人

    6---公司领导

    7---系统管理员

    Menu_id      menu_name menu_url     note

    menu   1---  个人信息 --- userinfo,jsp

    menu   2---  薪酬管理 --- salary,jsp

    menu   3---  人事管理 --- humanresourse,jsp

    menu   4---  招聘管理 --- employment,jsp

    menu   5---  培训管理 --- training,jsp

    menu   6---  数据分析 --- dataanalyses,jsp

    menu   7---  系统管理 --- system,jsp

    对于 角色1  人事专员 来讲:它能够查看的有1个人信息,3人事管理,7系统管理

    对于 角色2  人事经理 来讲:她能够查看的有 1个人信息,3人事管理,6数据分析,7系统

    【人事专员能够看菜单、对于我的项目来说】

    对于角色薪酬专员来讲:查看:个人信息 薪酬管理 

    对于角色薪酬经理来讲:查看:1个人信息 2薪酬管理 数据分析

    对于角色5人力负责人来讲:查看 :134567

    对于角色6公司领导 来讲:查看:1234567

    对于角色 7系统管理员 来讲:查看 1234567

  • 相关阅读:
    Android OpenGL ES 2.0 (四) 灯光perfragment lighting
    Android OpenGL ES 2.0 (五) 添加材质
    冒泡排序函数
    javascript object 转换为 json格式 toJSONString
    Liunx CentOS 下载地址
    jquery 图片切换特效 鼠标点击左右按钮焦点图切换滚动
    javascript 解析csv 的function
    mysql Innodb Shutdown completed; log sequence number解决办法
    Centos 添加 yum
    javascript 键值转换
  • 原文地址:https://www.cnblogs.com/letben/p/5185317.html
Copyright © 2011-2022 走看看