Ошибки с ролями

Всё про контроль доступа пользователей: фильтры, RBAC, проверки
Ответить
Artikk
Сообщения: 653
Зарегистрирован: 2017.02.10, 09:12

Ошибки с ролями

Сообщение Artikk » 2018.01.22, 14:38

Здравствуйте. Решил сделать разделение ролей на админа и юзером.
Делаю по этому уроку: https://nix-tips.ru/yii2-prostaya-reali ... lyami.html
Когда пытаюсь войти или зарегистрироваться, пишет:

Bad Request (#400)
Unable to verify your data submission.

The above error occurred while the Web server was processing your request.

Please contact us if you think this is a server error. Thank you.

что это значит? yii2 advanced версии

Artikk
Сообщения: 653
Зарегистрирован: 2017.02.10, 09:12

Re: Ошибки с ролями

Сообщение Artikk » 2018.01.22, 14:44

Код: Выделить всё

<?php $form = ActiveForm::begin(['id' => 'login-form']); ?>

                <?= $form->field($model, 'username')->textInput(['autofocus' => true]) ?>

                <?= $form->field($model, 'password')->passwordInput() ?>

                <?= $form->field($model, 'rememberMe')->checkbox() ?>
            
            <input type="hidden" name="_csrf" value="<?=Yii::$app->request->getCsrfToken()?>"
                   

                <div style="color:#999;margin:1em 0">
                    If you forgot your password you can <?= Html::a('reset it', ['site/request-password-reset']) ?>.
                </div>

                <div class="form-group">
                    <?= Html::submitButton('Login', ['class' => 'btn btn-primary', 'name' => 'login-button']) ?>
                </div>

            <?php ActiveForm::end(); ?>
пытался делать так, не помогло

Artikk
Сообщения: 653
Зарегистрирован: 2017.02.10, 09:12

Re: Ошибки с ролями

Сообщение Artikk » 2018.01.22, 14:52

$this->enableCsrfValidation = false; отключил в контроллере и заработало

Аватара пользователя
Dominus
Сообщения: 572
Зарегистрирован: 2013.03.14, 21:27
Откуда: Россия, Иваново
Контактная информация:

Re: Ошибки с ролями

Сообщение Dominus » 2018.03.20, 14:46

Это для тех, кто не переживает о безопасности приложения (проекта):
Artikk писал(а):
2018.01.22, 14:52
$this->enableCsrfValidation = false; отключил в контроллере и заработало
Для остальных же:
Указываем значение параметра CSRF токена в HTML форме.

Код: Выделить всё

<?= Html::hiddenInput(\Yii::$app->getRequest()->csrfParam, \Yii::$app->request->getCsrfToken(), []); ?>
Или еще, с помощью функции csrfMetaTags() добавить в шаблон мета-тег со значением CSRF токена для использования его в ajax-запросах.

Код: Выделить всё

<?= Html::csrfMetaTags(); ?>
https://yii2-cookbook.readthedocs.io/csrf/
Не спорь с дураком, иначе окружающие не правильно поймут кто из вас дурак!


Ответить