Администратор Liferay 6.2 CE не может получить доступ к док-панели или панели управления - PullRequest
0 голосов
/ 05 сентября 2018

Запуск Liferay 6.2 CE на Tomcat 8.0.20 в двух разных средах.

В одной среде панель dockbar недавно перестала появляться в верхней части моего портала Liferay, когда вошла в систему как администратор. Кроме того, попытка получить доступ к панели управления Liferay напрямую с помощью URL-адреса приводит меня к странице «not found».

Интересно, может ли это быть проблемой администрирования пользователей по нескольким причинам:

  • Файл Velocity "portal-normal.vm" в моей теме содержит часть кода, которая управляет включением панели Dock:

    #if ($is_signed_in && $permissionChecker.isOmniadmin())
    #dockbar()
    #end
    

Я обнаружил, что при входе в систему с учетной записью admin $ accessChecker.isOmniadmin () возвращает false, что мне не кажется нормальным (но, возможно, я ошибаюсь?).

  • Когда тот же код портала (тема и портлеты) внедряется в другой среде, вход в систему с правами администратора приносит мне все, что я ожидаю ($missionsChecker.isOmniadmin () == true, панель соединений, панель управления ...).

Пожалуйста, есть ли способ это исправить?

РЕДАКТИРОВАТЬ 2018/09/07: я также разместил обновленную версию этого сообщения на форумах сообщества Liferay. Извините за кросс-постинг - это мои первые шаги в переполнении стека, теперь я буду более осторожен.

https://community.liferay.com/forums/-/message_boards/message/110891530

Ответы [ 2 ]

0 голосов
/ 13 сентября 2018

Это была проблема с данными. Опросив таблицы Users_Roles в БД, я обнаружил, что по какой-то непонятной причине пользователь «admin» фактически имел только роль «User», пропуская роли «Administrator» и «Power user», которые он должен был иметь. Без какой-либо другой учетной записи пользователя «Администратор» я исправил эту аномалию безрекомендованным способом - вставив отсутствующие роли в таблицу Users_Roles (с сервером приложений, конечно, временно отключенным). Пока что все, кажется, пришло в норму, так что я думаю, это считается решением.

0 голосов
/ 05 сентября 2018

Быть Администратором не значит быть ОмниАдмином. Существует конфигурация для продвижения любого пользователя OmniAdmin, чтобы вы могли получить доступ, даже если вы заблокировали себя, например, никто не знает учетной записи администратора.

Из portal.properties :

Пользователи Omniadmin могут администрировать основные функции портала: gc, выключение и т. д. Пользователи Omniadmin должны принадлежать компании по умолчанию.

Несколько экземпляров портала могут быть развернуты на одном сервере приложений, но не все администраторы должны иметь доступ к этому ядру функциональность. Введите идентификаторы пользователей, которые являются пользователями omniadmin.

Оставьте это поле пустым, если пользователи принадлежат к нужной компании и иметь роль администратора разрешено администрировать портал основная функциональность. Значения по умолчанию:

omniadmin.users=

Использование этого бэкдора, естественно, требует доступа к файловой системе (например, вам нужно отредактировать portal-ext.properties) и перезапуска.

Возвращаясь к вашей проблеме: кажется, что ваша тема ошибочна, и вам лучше протестировать проверку прав доступа для текущего пользователя, являющегося членом роли администратора

...