RBAC не работают кнопки добавления ролей, разрешений и тд

Всё про контроль доступа пользователей: фильтры, RBAC, проверки
Ответить
BarakudaX777
Сообщения: 4
Зарегистрирован: 2018.09.06, 19:21

RBAC не работают кнопки добавления ролей, разрешений и тд

Сообщение BarakudaX777 » 2019.06.11, 13:08

Добрый день!
Ранее настраивал RBAC, все успешно работало.
Прошло много времени (давно туда не заглядывал), решил добавить новые разрешения, а в форме создания кнопка нажимается и ничего не добавляется. А количество Ajax Запросов увеличивается и все со статусом 200 (Успех)
Не понимаю что случилось и как можно исправить данную ситуацию.
Сайт успешно работает, все назначенные пермишены отрабатываются. Получается не работает только момент добавления новых записей.
Никаких ошибок не показывается, ошибок валидаций тоже не показывается. Файлы логов ошибок пусты.
Пробовал удалить пакет через composer remove и установить через composer.
Версия yii2 2.0.20, Версия php 7.1.23.
dektrium/yii2-rbac 1.0.0.0-alpha
dektrium/yii2-user 0.9.14.0
Изображение
Пользуюсь пакетом с https://github.com/dektrium/yii2-rbac/b ... llation.md :(

BarakudaX777
Сообщения: 4
Зарегистрирован: 2018.09.06, 19:21

Re: RBAC не работают кнопки добавления ролей, разрешений и тд

Сообщение BarakudaX777 » 2019.06.11, 17:33

Нашел причину ошибки но просто не могу никак понять к чему так сделано и можно ли делать так как сделал я?
Просмотрел Контроллер dektrium\rbac\controllers и нашел там вызов функции ajax валидации:

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

 protected function performAjaxValidation(Model $model)
    {
		
		Yii::warning('Вход в функцию');
		if (\Yii::$app->request->isAjax){Yii::warning('isAjax 1');}else{Yii::warning('isAjax 0');}
		if ($model->load(\Yii::$app->request->post())){Yii::warning('post 1');}else{Yii::warning('post 0');}
        if (\Yii::$app->request->isAjax && $model->load(\Yii::$app->request->post())) {
            \Yii::$app->response->format = Response::FORMAT_JSON;
            echo json_encode(ActiveForm::validate($model));
           \Yii::$app->end();
        }
    }
Я не знаю зачем в конце функции стоит останов обработки приложения когда весь основной код по сохранению данных модели идет ниже даной функции. Я закомментировал \Yii::$app->end(); и все заработало

Ответить