У меня есть компонент области сеанса Seam, CustomIdentity, который переопределяет стандартную идентичность Seam (также области сеанса).Расширенный CustomIdentity имеет свойство
@Out(required=false, scope=ScopeType.SESSION)private User user
. В переопределенном логине () я определяю объект User, заполненный информацией из принципала HttpServletRequest.В первом запросе в приложении объект User выводится, как и ожидалось, в области SESSION.Однако во втором запросе объект User исчез из сеанса, и когда я захожу на страницу, которая его внедряет, я получаю исключение.
У меня вопрос, когда именно компонент удаляется:
- После каждого метода компонента CustomIdentity (даже если он не содержит ссылку
user
)? - После каждого метода, содержащего ссылку на компонент User?
А что касается атрибута required
:
- Если при удалении объект User оценивается как
null
, будет ли уже удаленный пользователь удален из области действия сеанса?
Ура!