#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;