Авторизация НЕ применяется для УДАЛИТЬ действия - PullRequest
0 голосов
/ 14 апреля 2020

Когда я удаляю сущность, торт php предупреждает, что в запросе не применены проверки авторизации. Когда я go вернусь к предыдущему действию, объект удаляется . Каким-то образом это происходит в обход промежуточного программного обеспечения авторизация . PS Я использую скелетное приложение из composer. Я не применил авторизацию к действию удаления. Я ожидал, что удаление не удастся, но оно сохраняется.

Cake PHP 4

Код контроллера.

public function delete($id = null)
{
    $this->request->allowMethod(['post', 'delete']);
    $product = $this->Products->get($id);

    if ($this->Products->delete($product)) {
        $this->Flash->success(__('The product has been deleted.'));


    } else {
        $this->Flash->error(__('The product could not be deleted. Please, try again.'));
    }

    return $this->redirect(['action' => 'index']);


}

1 Ответ

1 голос
/ 14 апреля 2020

Ваш код не обходится без авторизации, он просто не применяет никаких проверок авторизации.

Авторизация не происходит автоматически, если вы явно не сконфигурируете / не настроите то, что автоматически выдает проверки, как, например, запросить промежуточное ПО авторизации или авторизация на основе модели и действия . Если у вас не настроено что-то подобное, вы должны выдать проверки авторизации вручную , где это необходимо.

Сообщение о том, что проверки не были применены, является в первую очередь отладка, проверка происходит в промежуточном программном обеспечении после кода вашего контроллера, который уже запущен (на самом деле проверить его раньше не представляется возможным, поскольку ваш код может свободно применять проверки авторизации практически в любой точке вашего кода).

Если вы явно хотите, чтобы действие не требовало авторизации, вы можете уведомить об этом компонент, вызвав его метод skipAuthorization():

$this->Authorization->skipAuthorization();

См. также

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...