我正在使用CakePHP应用程序实现ACL组件。我已经为用户和组正确设置了所有内容,但是该应用程序将具有多个访问区域,其中权限不仅基于用户而且基于其他ARO设置。例如,票证(ARO)希望根据其所属的票证组访问支持团队(ACO)。
我希望有两个独立的用户/组模型作为ACL请求者,彼此绑定e.x
- Users
- User
- Group
- Tickets
- Ticket
- Ticketgroup
我不确定的是,是否可以在此规模上使用ACL组件,在同一ACL中将两个单独的用户/组模型相互绑定?
答案 0 :(得分:0)
不确定我是否完全理解了这个问题,但是如果你的ARO表中有两个单独的根节点,那么它应该有效:
AllGroups
- Group1
- User1
- User2
AllTickets
-TicketGroup1
- Ticket1
- Ticket2
使用AclBehavior::parentNode()
方法将Group
模型与User
模型以及TicketGroup
模型绑定到Ticket
模型。
然后,您可以在AclComponent
类型的ACO与{{1}类型的ARO之间使用allow()
的方法(check()
,:controller/:action
等)还有另一个类型为Group/User
的ARO。
这将有助于分离ARO决议并避免两类群体之间的任何冲突。