使用CakePHP进行访问控制 - 限制数据库字段的访问

时间:2011-03-28 20:15:11

标签: cakephp cakephp-1.3 acl access-control

我的应用程序具有与城市或国家/地区对应的数据库记录。我的用户模型的字段为city_id和country_id。如果city_id不为零,则用户应该只能访问与该城市对应的记录。还有大约8个其他型号的外键city_id,例如邮政,广告,场地,比赛...

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

非常感谢指导,在我去之前这么做之前真是太可怕了,谢谢。

1 个答案:

答案 0 :(得分:0)

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

CakePHP书有一个example on this.