权限管理中 如何进行多表操作

我现在的权限模型是基于RBAC的简化版

简而言之 就是树状的privilege + group + user

现在假设我要得到一个用户对于某个操作是否有权限

那么我应该如何操作呢?

它的过程如下:
先在UserGroup中找以对应的group
然后对应于group,查找是否在groupprivilege中存在记录


现在我的问题在于,我是应该按照上面的方式去代码实现,还是直接利用存储过程或视图实现


代码实现的话速度肯定很慢,首先得到一个group的list,然后对于list的每个单元再次进行查找

请问大家在这种情况下怎么办?

谢谢

我现在要做的跟你很是类似。
一个user对应些访问控制组viewer_group,一个viewer_gruop 又对树状结构的栏目拥有些权限。
我现在是想弄明白设计问题。
当为viewer_group分配对栏目的权限时,添加一个栏目
1。只拥有对此栏目的权限
2。可以拥有它及它的所有子栏目的权限
两种方式各有漏洞,因为栏目是树状的。
请问你是如何想的?
多谢!