cakephp Auth запретить

#php #cakephp

#php #cakephp

Вопрос:

Я использую Cakephp1.3, я хочу запретить некоторые функции

Вот мой код, который написан в пользовательском контроллере

   function beforeFilter(){
     parent::beforeFilter();
     $this->Auth->loginAction = array('controller' => 'users', 'action' => 'login');
     $this->Auth->authorize = 'controller';     
  }    
 function isAuthorized() {    
     $this->deny('delete');
     return true;    
}
  

Но я все еще могу получить доступ к функции удаления. я хочу остановить доступ к функции удаления.
Заранее спасибо

Комментарии:

1. parent:beforeFilter(); должно быть parent::beforeFilter();

2. я пробовал, это все еще не работает

3. Попробуйте $this->Auth->deny('delete') использовать функцию beforeFilter!!

4. я пробовал, это все еще не работает

5. как ваша разрешающая часть? можете ли вы var_dump $this->Auth->allowedActions посмотреть, есть ли у вас там delete?, можете ли вы получить доступ к delete перед входом в систему?

Ответ №1:

 function isAuthorized() {    
    if ($this->action == 'delete') return false;  
}
  

и я бы поместил pr(); оператор где-нибудь внутри isAuthorized() , чтобы убедиться, что вы, по крайней мере, выполняете эту функцию.

Комментарии:

1. Да, я знаю это решение, но я хочу сделать с deny не возвращая false;