日期:2014-05-17  浏览次数:20625 次

关于用户组与权限的问题
数据库有这么几张表user(userid),group(groupid),permission(permissionid),user_group(userid,groupid),group_permission(groupid,permissionid)
user与group是多对多关系,group与permission也是多对多关系。
本人新手,现在想些一个方法,传入的是userid和permissionid,返回布尔型,判断用户是否有权限。因为要通过group去查permission,是通过for循环呢?还是直接查询呢,直接查询的话该怎么去查?希望各位给点思路。

------解决方案--------------------
通过sql语句的关联查询出结果,不必循环,那样太麻烦了
------解决方案--------------------
select distinct p.* from permission p inner join group_permission gp on p.permissionid = gp.permissionid inner join user_group ug on ug.groupid = gp.groupid where ug.userid = '100' ;

这样应该可以得到 用户id为 '100'的用户的权限