2011-09-01 48 views
0
class CommentsController extends AppController { 

    function beforeFilter() { 
     parent::beforeFilter();  
     $this->Auth->allowedActions = array('add','edit'); 
    } 

但如果我不http://mysite.com/comments/view/13我得到錯誤=>CakePHP的驗證問題,檢查allowedActions不工作

Error: The action view is not defined in controller CommentsController 

Error: Create CommentsController::view() in file: app/controllers/comments_controller.php. 

<?php 
class CommentsController extends AppController { 

    var $name = 'Comments'; 


    function view() { 

    } 

} 
?> 

Notice: If you want to customize this error message, create app/views/errors/missing_action.ctp 

而對於http://mysite.com/comments/edit/13 =>

我的編輯頁面與評論。那不應該來。在編輯任何帖子之前,我應該提示登錄。

爲什麼不工作?

+0

好了,你有一個控制器中的'視圖()'方法? – JJJ

+0

我沒有在評論控制器中查看方法。但有編輯($ id)的動作,所以我怎麼停止執行這個網址http://mysite.com/comments/edit/13? – shibly

+0

不允許的操作和不存在的操作之間存在差異。對於後者,無論身份驗證如何,您都會收到404錯誤。 – JJJ

回答

1

I got the edit page with that comment. That should not come. I should be prompted to login before editing any post.

刪除行$this->Auth->allowedActions = array('add','edit');