我能夠使用ACL
控制我的應用程序,所有任務都完美完成,應用程序運行平穩,其中ACL
和Auth
。CakePHP 2.x ACL - 在所有者級別的控制
現在的問題是:
我有兩個表,users
和posts
。沒有RBAC
(基於角色的訪問控制)。 對於每個用戶,我正在設置deny
和allow
,如下所示。
//allow User1 to do everything
$user->id=1;
$this->ACL->allow($user,'controllers');
//allow User2 to add, edit and view the posts
$user->id=2;
$this->Acl->deny($user, 'controllers');
$this->Acl->allow($user, 'controllers/Posts');
但在這裏,我得到一個問題:
user2
越來越以edit
的user1
的posts
訪問。
例如:
User1
創建的post1
。
現在User2
登錄現在他可以編輯User1
的帖子(即post1- /localhost/myApp/posts/edit/1
)
問:我如何設置ACL權限這一問題,後期的所有者只能編輯文章和其他不能。
我可以在控制器級別?只需勾選
if($_SESSION['Auth']['User']['id'] == $Post['Post']['user_id']){
// you're the owner, so u can edit
}else{
//u cant edit, this is not ur post
}
做到這一點,但我需要ACL
在這裏工作,是否有可能?請幫
感謝
如果它的javascript問題,我會立即得到結果,但我運氣不好,這個cakephp。非常糟糕,:( –
不知道它是否工作不知道你是否試過類似這樣的想法:'$ this-> Acl-> allow($ user,'controllers/Posts'/ edit/1)'等等? – arilia
@ arilia,感謝評論我試了一下,不工作,你可以建議任何其他的解決方案:) –