【问题标题】:Restrict access to resources by resource ID in CakePHP using ACL使用 ACL 在 CakePHP 中通过资源 ID 限制对资源的访问
【发布时间】:2012-02-16 11:55:53
【问题描述】:

假设我在 CakePHP 应用程序中有一个 Project 模型和一个 User 模型。使用 ACL,我可以控制用户是否可以访问 ProjectsController 中的项目和/或特定操作。

但我想进一步控制是否允许用户查看特定项目,例如使用 http://example.com/projects/3 之类的 URL 访问带有 id = 3 的项目。

ACL 也可以做到这一点,还是我必须在它之上开发额外的检查?

谢谢!

【问题讨论】:

    标签: cakephp acl access-control


    【解决方案1】:

    要限制对模型的特定值的访问,您需要使用 ACL 以外的其他内容。

    最好定义用户和项目之间的关系,无论是包容性的还是排他性的。

    您可能需要一个 ProjectUser 模型(项目和用户中的 HABTM)和该模型中的一个简单函数,可能是 userAllowed($projectId, $userId),用于检查用户是否已获得对该项目的访问权限。

    【讨论】:

      猜你喜欢
      • 2018-03-26
      • 2013-08-28
      • 2011-10-14
      • 2011-05-03
      • 1970-01-01
      • 2011-11-16
      • 1970-01-01
      • 1970-01-01
      • 2018-01-04
      相关资源
      最近更新 更多