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)

  • 相关阅读:
    Hdu 1257 最少拦截系统
    Hdu 1404 Digital Deletions
    Hdu 1079 Calendar Game
    Hdu 1158 Employment Planning(DP)
    Hdu 1116 Play on Words
    Hdu 1258 Sum It Up
    Hdu 1175 连连看(DFS)
    Hdu 3635 Dragon Balls (并查集)
    Hdu 1829 A Bug's Life
    Hdu 1181 变形课
  • 原文地址:https://www.cnblogs.com/taikongliu/p/6374049.html
Copyright © 2011-2022 走看看