Как отключить компонент безопасности для определенных действий в CakePHP? - PullRequest
3 голосов
/ 23 августа 2011

В моем действии add_note есть форма, в которой я не хочу, чтобы SecurityComponent ставил свои токены или проверял.Как мне это сделать?

Я пробовал requireAuth('some_other_action') и т. Д., Но это не работает.

Ответы [ 2 ]

5 голосов
/ 21 февраля 2014

В CakePhp 2.3 сделать:

$this->Security->unlockedActions= array('add_note');
4 голосов
/ 24 августа 2011

Исходный ответ для CakePHP 1.2 до 2.2.x:

public function beforeFilter() {
    if (isset($this->Security) && $this->action == 'add_note') {
        $this->Security->validatePost = false;
    }
}

Обновленный ответ для CakePHP 2.3+ и 3.x (как указано в другом ответе ):

public function beforeFilter(Event $event)
{
     $this->Security->config('unlockedActions', ['add_note']);
}

Кроме того, можно разблокировать определенные поля (как указано в в комментариях )

$this->Form->unlockField('Note.id');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...