Открытие экрана под admin

Добрый день.

В версии 7.1. был создан новый экран .browse и новая роль с ограниченными правами.
Для новой роли была сделана настройка, что она может открывать новый экран .browse
Пользователь под новой ролью и под администратором могли открывать этот экран в 7.1

После перехода на 7.2 новая роль (с ограниченными правами) открывает новый экран .browse
а стандартная роль Administrators при открытии нового экрана получает ошибку “Доступ запрещён”. При этом в catalina никакой ошибки нет , то есть подробностей я узнать не могу, почему доступ запрещён.

В настройках роли на закладке “Экраны” новый экран .browse отсутствует :frowning:

Подскажите, пожалуйста, может быть при переходе на новую версию надо было прописать какие-то параметры? Или сделать какие-то настройки для ролей?

UPD: ошибку в catalina нашла - ERROR com.haulmont.cuba.web.log.AppLog - Exception in com.haulmont.cuba.web.widgets.CubaVerticalActionsLayout: com.haulmont.cuba.core.global.AccessDeniedException: SCREEN myproject_OrderSimpleUser.browse

Если вы перевели приложение на новую модель разрешений, то все логично.
Теперь нужно явно указывать разрешения для роли, а раньше было “если не указано - то разрешено”.
Старая стандартная роль Administrators осталась без изменений после обновления на 7.2 и в новой модели она фактически “бесправна”.
При переезде на новую модель разрешений надо прописывать новую роль, аналогичную “Administrators”.
Мы пока только слега сунулись в процесс миграции на новую модель, методики для себя не определили.
Может кто-то уже мигрировал и подскажет как это сделать меньшей кровью.

В общем, это похоже на баг, потому что именно этого экрана, к которому у меня нет доступа, нет в списке экранов в разделе редактирования роли.

Проблему решила тем, что создала новый такой же экран. Новый экран виден в списке экранов для настройки ролей.

Повезло еще :slight_smile:
Я для эксперимента переключал один проект на 7.2 на новую модель и после этого под admin залогиниться не смог - access denied. Смог войти только под пользователями, у которых в ролях разрешения были явно прописаны. На этом эксперименты пока прекратил до момента вдумчивого перехода на новую модель.

Добрый день,

Вместо старой роли Administrators для создания пользователей - системных администраторов вам теперь следует использовать роль “system-full-access”, которая определена в исходном коде, и которую нельзя создать в UI.

Если же вы хотите избежать работы по переделке ролей в своей системе, то вам не нужно было отключать свойства совместимости, которые Studio добавляет при миграции проекта на версию 7.2 и которые оставляют работать старый механизм системы безопасности.

1 Симпатия

Спасибо за ответ.
То есть создавать системных администраторов с новой ролью надо через код, не через UI?

Создавать пользователей администраторов можно как угодно, и через код и через UI.
Создавать роль администратора в общем-то и не нужно, т.к. system-full-access определена в коде и будет гарантированно доступна на любом сервере.