Как работает AfterLoginEvent?

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

В бине использую аннотацию @EventListener и события приложения при входе: https://doc.cuba-platform.com/manual-7.1-ru/web_login.html
Больше всего удивило событие AfterLoginEvent, потому что оно срабатывает еще до появления на экране полей для ввода логина и пароля. То есть работает ДО логина. Из события можно получить анонимного пользователя. А после логина данное событие уже не срабатывает.
Правильно ли я использую событие AfterLoginEvent?

Строго говоря, действительно, сначала срабатывает логин для анонимного пользователя - он используется для совершения служебных действий до фактического логина пользователя.
Но вот то, что AfterLoginEvent не срабатывает после фактического логина пользователя - это странно на мой взгляд.
Есть еще событие UserLoggedInEvent. Как я понимаю, оно срабатывает именно при логине пользователя на экране входа.

Только использовать AfterLoginEvent или UserLoggedInEvent в качестве события, приравненного к открытию главного экрана приложения - это не правильно.
С момента логина до фактического открытия главного окна многое может пойти не так.
Правильнее в AfterShowEvent в главном окне экрана опубликовать глобальное событие, сообщающее об открытии главного экрана приложения. И в бине подписаться уже на него.

1 симпатия

понятно, спасибо. вообще сейчас я инжектирую бин и вызываю нужный метод в обработчике события AfterShowEvent. В том-то и суть, что было бы отлично ничего не инжектировать и не публиковать события, а просто подключить компонент и всё работает))