• 权限管理


    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

  • 相关阅读:
    ORACLE中dba,user,v$等开头的常用表和视图
    CentOS最基本的20个常用命令
    Spring IOC原理解读 面试必读
    Nginx Web服务应用
    Linux系统SSH免密登录
    Zabbix+Grafana打造高逼格监控系统
    Ansible入门
    你应该知道的 5 个 Docker 工具
    关于 Docker Hub 上不能注册 Docker ID 的问题
    Linux下终端录制工具-asciinema
  • 原文地址:https://www.cnblogs.com/letben/p/5185317.html
Copyright © 2020-2023  润新知