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)