Список онлайн-пользовалей

Как можно получить список всех пользователей, находящихся в данный момент онлайн.
И закрыть сессии при каком-то условии.

Здравствуйте!

Советую посмотреть реализацию экрана “Пользовательские сессии” (SessionBrowser) и класса UserSessionsDatasource, который в нём используется.

В простом варианте достаточно использовать бин UserSessionService и его методы:

  • killSession
  • loadUserSessionEntities
1 симпатия

Спасибо, помогло

А из модуля core как получить доступ к списку текущих пользователей в системе? :slight_smile:

Подойдёт бин com.haulmont.cuba.security.app.UserSessionsAPI и его методы:

  • getUserSessionEntitiesStream();
  • getUserSessionsStream();
1 симпатия

А в модуле core как его инжектировать?
@Inject UserSessionsAPI userSessionsAPI;
Возвращает null.

Инжекция доступна только в Spring бинах. Если у вас простой класс то можно воспользоваться AppBeans:

UserSessionsAPI userSessionsApi = AppBeans.get(UserSessionsAPI.NAME);

Но имейте в виду, AppBeans в Jmix удалён, поэтому лучше планировать код без его использования.

1 симпатия

Огромное спасибо!