1基于角色访问控制RBAC
1.1RABC数据库设计
1.2RABC实现流程
- 基于菜单实现:
- 在创建系统用户时,为用户绑定对应的角色。
- 当登录成功进入主页面,根据用户查询角色,再根据角色查询到当前用户的权限列表。
2主页菜单的加载显示功能
根据不同管理员身份加载并显示当前管理员可以操作的菜单。
五表查询语句(子查询,速度较慢)
-- 2.根据管理员ID查询管理员拥有的权限菜单(5表关联)
SELECT menu_name FROM tb_menus WHERE menu_id in(
SELECT menu_id FROM tb_role_menu WHERE role_id in(
SELECT role_id FROM tb_mgr_role WHERE mgr_id='10000002'
)
)
查询的结果
五表查询语句(连接查询,速度快)
-- 3.五表关联查询,连接查询
SELECT * FROM tb_mgr_role a
INNER JOIN tb_role_menu b
INNER JOIN tb_menus c
ON a.role_id=b.role_id
AND b.menu_id=c.menu_id
WHERE a.mgr_id='10000002'
查询的结果