2011-03-28 131 views
1

我有一個具有與城市或國家相對應的數據庫記錄的應用程序。我的用戶模型有字段city_id和country_id。如果city_id不爲零,則用戶應該只能訪問與該城市相對應的記錄。有大約8個其他模型與外國city_id,例如,郵政,廣告,地點,競爭...使用CakePHP進行訪問控制 - 限制數據庫字段的訪問

我設置了Acl,我想知道是否有一個很好的方法來拒絕訪問記錄這與認證的用戶沒有相同的city_id,除非經過認證的用戶的city_id爲0(這意味着他們可以訪問每個城市)。同樣的國家,我有領域country_id服務相同的目的。

指導將非常感激,在我去之前,做這樣的事情真的很可怕,很可怕,謝謝。

回答

0

您可以在自己的控制器或型號中的功能isAuthorized()中進行復雜的授權檢查。您需要設置這對AuthComponent:$this->Auth->authorize = 'controller';

CakePHP的書有一個example on this.

+0

嗯...我也碰到過這之前,但我稍微不確定要如何處理限制訪問某些數據庫使用isAuthorized的行。任何指針? – Will 2011-04-01 10:07:31