【问题标题】:Access control with CakePHP - Restricting access by database fieldCakePHP 的访问控制 - 通过数据库字段限制访问
【发布时间】:2011-07-24 18:55:30
【问题描述】:

我有一个应用程序,其中包含与城市或国家对应的数据库记录。我的用户模型具有字段 city_id 和 country_id。如果 city_id 不为零,则用户应该只能访问与该城市对应的记录。外键 city_id 的其他模型大约有 8 个,例如 Post、Advert、Venue、Competition...

我正在设置 Acl,我想知道是否有一种好方法可以拒绝访问与经过身份验证的用户具有不同 city_id 的记录,除非经过身份验证的用户的 city_id 为 0(这意味着他们可以访问每个城市)。国家也是如此,我有字段 country_id 用于相同目的。

非常感谢您的指导,在我去做一些非常糟糕和可怕的事情之前,谢谢。

【问题讨论】:

    标签: cakephp cakephp-1.3 acl access-control


    【解决方案1】:

    您可以在控制器或模型中的自己的函数isAuthorized() 中进行复杂的授权检查。您需要在 AuthComponent 上进行设置:$this->Auth->authorize = 'controller';

    CakePHP 书有一个example on this.

    【讨论】:

    • 嗯...我以前遇到过这种情况,但我有点不确定如何使用 isAuthorized 限制对某些数据库行的访问。有什么指点吗?
    猜你喜欢
    • 1970-01-01
    • 2015-12-18
    • 2021-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-14
    • 2010-10-03
    • 1970-01-01
    相关资源
    最近更新 更多