2010-05-31 30 views
0

我試圖製作一個博客系統,但顯然某些組中的某些用戶應該只能編輯/刪除他們自己的帖子/評論。我將如何在CakePHP中執行此操作?我遵循手冊的基本Acl指南來設置我當前的Auth系統。基於每個條目的CakePHP ACO

回答

0

假設你有一個帖子和評論模型和user_id是通過$這個 - >驗證本 - > ...對象,你可以在你的模型中定義一個通用的方法:

function allowUserPost($user_id, $post_id) { 

// Then check if this $user_id owns the $post_id 
// if true, return true, if false, return false 

} 

在你控制器:

function deletePost($post_id) { 

if($this->Post->allowUserPost($user_id, $post_id) { 

// Go ahead, delete 

} else { 

// Deny 

} 
+0

...還有類似的功能,如果你想控制讀取或編輯訪問。總之,你必須推出自己的記錄級鎖定。 Cake ACO系統不支持這一點,這是我在框架中遇到的更大問題之一。有人聽說Symfony或Zend的記錄級訪問控制能力如何? – 2010-05-31 17:13:49