【发布时间】:2011-05-27 04:22:16
【问题描述】:
今年我一直在研究 CakePHP,我很喜欢它!但是,我刚刚遇到了一个我不知道如何处理的问题。我的数据库设计是这样的——
USER可以属于一个或多个WEBSITE 一个WEBSITE可以有很多USER
所以我有一个多对多的关系,在 MEMBERSHIP
中进行了跟踪MEMBERSHIP 还会跟踪 USER 对该 WEBSITE 的 group_id。
例如,如果 user1 作为管理员加入 website3 而 website5 作为编辑加入,则 MEMBERSHIP 表有一个反映这两个角色的条目。
基本上我的问题是Cake 的ACL。在上述模型中,user1 的 group_id 会根据他登录后选择的 WEBSITE 而改变。(随后他可以通过一次又一次地更改 group_id 来更改仪表板中的更多网站)。 Cake 的 ACL 似乎只处理“用户属于一个组”期间。
我是否可以通过在每次更改时从会话中提供 group_id 来欺骗 ACL,然后重新加载 ARO?废弃 ACL 并创建我自己的权限模块是否更有意义?
非常感谢任何可以为我指明正确方向的建议或想法!
【问题讨论】:
标签: cakephp membership acl