Страница 1 из 1

Потеря доступа при переходе на версию 2.0.13

Добавлено: 2018.01.18, 16:10
rybachok91
Добрый день! Ситуация следующая: на одной машине используется yii2 версии 2.0.12, на другой - последний релиз с php 7.2. Один и тот же скрипт проекта, одна и та же схема в базе. Одни и те же настройки конфигурации. Заходим в проект под одной и той же учетной записью. Мне недоступна часть функционала. Выдает ошибку 403. Шагая с дебагом, выявили, что метод matchRole() класса AccessRule различается в версиях фреймворка и соответственно проверка роли не проходит (в переменную $item попадает permition, функция выдает false). Доступ возможно получить, если в контроллерах убрать список доступных actions. Подскажите, в чем может быть проблема? Не хотелось бы менять логику проверки прав доступа в проекте. Для проверки прав rbac не используем, из базы получаем только массив permitions по соответствующему логину пользователя. В контроллерах прописаны правила, какой permition требуется для доступа. Заходим под тестовой учеткой, которой доступно абсолютно всё в приложении.

Re: Потеря доступа при переходе на версию 2.0.13

Добавлено: 2018.01.18, 18:08
samdark
Последний релиз — это 2.0.13.x или master?

Re: Потеря доступа при переходе на версию 2.0.13

Добавлено: 2018.01.19, 09:29
rybachok91
Версия 2.0.13.1.

Re: Потеря доступа при переходе на версию 2.0.13

Добавлено: 2018.01.19, 23:46
samdark

Re: Потеря доступа при переходе на версию 2.0.13

Добавлено: 2018.01.19, 23:47
samdark
Если найдёте как воспроизвести — пофиксим. Пока тесты ваш случай не покрывают.

Re: Потеря доступа при переходе на версию 2.0.13

Добавлено: 2018.01.23, 09:20
rybachok91
Мы переопределили метод matchRole(). Заменили его методом из версии 2.0.12. Заработало.

Re: Потеря доступа при переходе на версию 2.0.13

Добавлено: 2018.01.23, 23:33
samdark
Пофиксить, к сожалению, не можем. Не знаем, как воспроизвести проблему.