假设我在CakePHP应用程序中有Project
模型和User
模型。使用ACL我可以控制用户是否可以访问项目和/或ProjectsController
中的特定操作。
但我想进一步控制是否允许用户查看特定项目,例如使用http://example.com/projects/3等网址id = 3
访问项目。
ACL也可以这样做,或者我必须在它上面开发额外的检查吗?
谢谢!
答案 0 :(得分:3)
要限制对模型的特定值的访问,您需要使用ACL之外的其他内容。
最好定义用户和项目之间的关系,无论是包容性还是排他性。
您可能需要ProjectUser模型(项目和用户中的HABTM)以及该模型中的一个简单函数,可能是userAllowed($projectId, $userId)
,它检查用户是否已被授予对该项目的访问权。