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

使用CakePHP进行访问控制-按数据库字段限制访问,cakephp,cakephp-1.3,acl,access-control,Cakephp,Cakephp 1.3,Acl,Access Control,我有一个应用程序,它的数据库记录对应于一个城市或国家。我的用户模型包含city\u id和country\u id字段。如果city\u id不为零,则用户应该可以访问对应于该城市的记录。有大约8个外键城市id的其他模式,例如,张贴,广告,场地,比赛 我正在设置Acl,我想知道是否有一种很好的方法来拒绝访问与经过身份验证的用户没有相同city_id的记录,除非经过身份验证的用户的city_id为0,这意味着他们可以访问每个城市。同样的道理也适用于国家,我有一个字段country_id,用于相同的

我有一个应用程序,它的数据库记录对应于一个城市或国家。我的用户模型包含city\u id和country\u id字段。如果city\u id不为零,则用户应该可以访问对应于该城市的记录。有大约8个外键城市id的其他模式,例如,张贴,广告,场地,比赛

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


非常感谢您的指导,在我去做这些事情之前,非常感谢。

您可以在自己的功能中进行复杂的授权检查,并在您的控制器或模型中进行授权。您需要在AuthComponent上设置:$this->Auth->authorize='controller'


CakePHP书有一个

Hmmm。。。我以前遇到过这种情况,但我不确定如何使用isAuthorized限制对某些数据库行的访问。有什么建议吗?