小程序之旅——第三站(数据库用户权限设计)
用户、用户组、角色、权限、菜单、页面元素等
一、模型
二、获取用户权限
获取用户权限sql语句
SELECT perm_id FROM ord_perm_role WHERE role_id IN ( SELECT a.* FROM ( ( SELECT ur.role_id FROM ord_user_role ur WHERE ur.user_id = '1' ) UNION ALL ( SELECT gr.role_id FROM ord_gp_role gr JOIN ord_gp_user gu WHERE gu.user_id = '1' AND gu.gp_id = gr.gp_id ) ) a )
用户的角色包含用户本身的角色也包含用户所在组的角色
用户可以有多个类型的权限(如菜单类型的权限、页面元素的权限),根据权限的类型查找相应的菜单、元素、文件权限
SELECT id FROM ord_menu m JOIN ord_perm_menu pm WHERE pm.menu_id = m.id AND pm.perm_id IN ('.$permssions.')