角色管理模块:
sys_role:角色表
SELECT id, role_name, role_code, description, create_by, create_time, update_by, update_time FROM sys_role ORDER BY create_time DESC LIMIT ?,?
1新增角色sys_role
INSERT INTO sys_role ( id, role_name, role_code, description, create_by, create_time ) VALUES (?, ?, ?, ?, ?, ?)2.角色授权(支配的菜单)
生成sys_role_permission (角色菜单表)
INSERT INTO sys_role_permission (id, role_id, permission_id) VALUES (?, ?, ?)
1 插入用户表 sys_user
INSERT INTO sys_user ( id, username, realname, PASSWORD, salt, birthday, sex, STATUS, del_flag, create_by, create_time, activiti_sync ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)2.插入 用户角色表 sys_user_role (角色id和用户id是前台传来的)
INSERT INTO sys_user_role (id, user_id, role_id) VALUES (?, ?, ?)
总结:
SELECT p.* FROM sys_permission p WHERE EXISTS ( SELECT a.id FROM -- a 角色 权限 菜单关联表 sys_role_permission a -- b 角色表 JOIN sys_role b ON a.role_id = b.id -- c 用户角色表 JOIN sys_user_role c ON c.role_id = b.id -- d 用户表 JOIN sys_user d ON d.id = c.user_id WHERE p.id = a.permission_id AND d.username = 'admin' ) AND p.del_flag = 0 ORDER BY p.sort_no ASC
1 用户表sys_user通过 id 关联用户角色表sys_user_role ---得到当前用户的角色 2 用户角色表sys_user_role 通过角色id 关联 角色表 sys_role 3 角色表id 与角色 权限 菜单表关联 查询出此人的菜单id 总结关系 sys_user.id(用户) == sys_user_role.user_id(用户角色表) 然后产生分支 1.sys_user_role.role_id (用户角色表) = sys_role.id (角色表) 可以获得到角色的具体信息 2.sys_user_role.role_id (用户角色表) = sys_role_permission.role_id (角色 菜单表) 可以获取到当前角色的菜单