У меня есть приложение JSF, работающее на glassfish 2.1 с бэкэндом EJB 3.Для аутентификации я использую пользовательскую область.Пользователь аутентифицируется, используя адрес электронной почты и пароль, указанные при регистрации.Все работает очень хорошо.
Теперь у меня есть две проблемы:
1) Пользователь может редактировать свой профиль и - естественно - он также может изменить свой адрес электронной почты.К сожалению, когда я выполняю операции на основе идентификатора текущего пользователя, используя ExternalContext.getUserPrincipal (). GetName (), я получу предыдущий адрес электронной почты, который пользователь использовал при входе в систему.В настоящий момент я справляюсь с этим, заставляя пользователя повторно пройти аутентификацию после того, как он изменил свой адрес электронной почты, но есть ли еще более изящная возможность?Например, у меня есть роли пользователя MEMBER и PREMIUM_MEMBER.MEMBER может стать PREMIUM_MEMBER во время его текущей сессии.К сожалению, роль, кажется, определяется только при входе в систему.Есть ли вероятность, что JSF и EJB распознают новую роль пользователя без необходимости повторной аутентификации пользователя?