小程序之旅——第三站(数据库用户权限设计)

用户、用户组、角色、权限、菜单、页面元素等

 一、模型

二、获取用户权限

获取用户权限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.')

 

posted @ 2017-10-13 14:59  Rainbowz  阅读(774)  评论(0编辑  收藏  举报