zoukankan      html  css  js  c++  java
  • rbac

    /*----------------------------------5张表------------------------------------------------*/

    admin(管理员表):
            admin_id (管理员表自增id)
            admin_name (varchar 45)
            password (char 32)

        admin_status(tinyint ) 是否启用
            last_time (int)
           last_ip (varchar 15)
    admin_rode 关系表(管理员-角色):
          admin_id (管理员表自增id)
          rode_id (角色表自增id)
    rode (角色表):
          rode_id (角色表自增id)
          role_name(varchar 45)
          rode_desc(varchar 255)

              rode_status(tinyint ) 是否启用
    rode_node(角色-权限):
          rode_id (角色表自增id)
          node_id(节点表自增id)
    node(节点):
          node_id(节点自增id)
          node_title(varchar 45)中文名字(例如:分类添加)
          controller(varchar 60)控制器
          action(varchar 60)方法
          pavent_int(int)父级id

    /*----------------------------------php代码------------------------------------------------*/

    admin(管理员表):
          admin_id (管理员表自增id)
          admin_name (varchar 45)
          password (char 32)
          last_time (int)
         last_ip (varchar 15)
    admin_rode 关系表(管理员-角色):
        admin_id (管理员表自增id)
        rode_id (角色表自增id)
    rode (角色表):
        rode_id (角色表自增id)
        role_name(varchar 45)
        rode_desc(varchar 255)
    rode_node(角色-权限):
        rode_id (角色表自增id)
        node_id(节点表自增id)
    node(节点):
        node_id(节点自增id)
        node_title(varchar 45)中文名字(例如:分类添加)
        controller(varchar 60)控制器
        action(varchar 60)方法
        pavent_int(int)父级id

    1:先写node(权限表)的form表单
        权限分类中文名称(node_title):
        控制器(controller):
        方法(action):
        父级id(parent_id):
      结果:把接到的数据添加到node(权限表里)
    2:rode(角色表)的form表单
        角色名称(rode_name):
        角色权限()多选框:例如:□分类添加   □分类展示  □导航添加
        注意:这些数据都是从node(权限表)中查出来的权限分类中文名称(node_title)
        角色描述(rode_desc):
        是否启用(rode_status):
      结果:接到这些值以后,先添加角色名称(rode_name),角色描述(rode_desc),
                是否启用(rode_status)到rode(角色表),添加成功返回来的rode_id(角色的自增id)
                和node_id(权限表的自增id)循环添加到rode_node(角色-权限)表
    3: 在写admin(管理员)的form表单
        管理员姓名(admin_name):
         密码(admin_pwd):
        确认密码(res_pwd):
        职位()多选框,例如:□经理  □主任
        注意:这些数据都是从rode(角色表)中查出来的角色名称(rode_name)
     结果:接到这些值以后,先添加管理员姓名(admin_name), 密码(admin_pwd),
              确认密码(res_pwd)到admin(管理员)中,添加成功返回自增id(admin_id),在和
             rode_id(角色表的自增id)循环添加入库

      
    /*-----------------------------列表展示和修改-------------------------------------------------*/  

    注意:只有当拥有最高权限(admin)的用户才可以看见和操作列表展示
    1:管理员表(admin)的展示
        1》 添加管理员按钮
        2》 展示管理员列表
                   管理员名称        管理员角色        操作
           例如:admin                       董事长,总经理        修改/删除
        刘瑞        ceo,副经理            修改/删除
        3》当点击修改后展现出如下:
        例如form表单:
                     管理员名称:刘瑞
        选择角色:□董事长  □经理   □副经理   
        旧密码:
        新密码:
        确认密码:
           注:只用旧密码输入成功后才可以进行修改
    2:角色的权限(rode)列表
        1》添加角色
        2》展示角色列表
        例如: 角色名称        是否启用         权限                      操作
        董事长        是         分类添加,分类展示,导航添加     编辑/删除
        经理        是             分类展示,导航添加            编辑/删除
        3》点击修改之后form表单
        角色名称:经理
        是否启用:是
        权限:□分类添加   □分类展示  □导航添加
         角色描述:
    3:节点表(node)
        1》添加节点
        2》节点展示
            节点中文名称        控制器             方法        操作
            分类管理       admin             add        编辑/删除
         3》点击编辑按钮form表带
              权限名称:  分类管理
          控制器   :  admin          
          方法    :   add

    /*-------------------------------------查找权限很重要的sql语句--------------------------------------------------------*/

    select * from rode_node left join node on rode_node.node_id=node.node_id where rode_id in (select rode_id from admin_rode where admin_id=1)

  • 相关阅读:
    菜鸡学习之路之并查集
    Leetcode 28. 实现 strStr() python3
    Leedcode 67. 二进制求和 python3
    2020 高校战“疫”网络安全分享赛 misc ez_mem&dump & 隐藏的信息
    leetcode 709.转换成小写字母
    2020 MetasequoiaCTF 部分misc
    Linux任务在后台运行
    Linux网络监控(netstat)
    Linux中wget资源下载
    Linux远程登录+远程发送文件
  • 原文地址:https://www.cnblogs.com/taikongliu/p/6374049.html
Copyright © 2011-2022 走看看