我正在 Yii 中构建一个 rbac 实现,首先我想知道系统有多快。已经在更大的项目中使用它的人也许可以帮助我。让开发人员将操作分配给角色是一个好主意(当开发人员只使用更多任务对操作进行分组(允许将任务分配给任务)操作时,这不是更好吗)?
想象一下,角色下面有一千个操作和大量的任务。那么,基本上,与其他系统相比,这有多快?
我正在 Yii 中构建一个 rbac 实现,首先我想知道系统有多快。已经在更大的项目中使用它的人也许可以帮助我。让开发人员将操作分配给角色是一个好主意(当开发人员只使用更多任务对操作进行分组(允许将任务分配给任务)操作时,这不是更好吗)?
想象一下,角色下面有一千个操作和大量的任务。那么,基本上,与其他系统相比,这有多快?
我已经为 Yii 的 CDBAuthManager 提出了一个补丁(如果你不想修补代码,你可以像我一样以扩展类的形式使用它)
https://github.com/yiisoft/yii/issues/1533#issuecomment-9207350
这里有一个讨论
p_180057 # entry180057 ">http://www.yiiframework.com/forum/index.php/topic/37216-holy-cdbauthmanager-queries-batman/page_p_180057#entry180057
一般来说,瓶颈有一个递归查询来解决角色。并且缓存可以解决这个问题,您应该在afterSave
与 Auth 相关的模型中调用 purge