Я работаю над некоторыми портлетами, которые я кладу на Springs Portlet MVC framework. Теперь возникает один вопрос: в этих портлетах мне нужны некоторые сеансовые объекты (информация о пользователе и т. Д.) - для создания этих объектов я думал об использовании фильтра. Теперь у меня вопрос: нужно ли объявлять фильтр в обычном контексте веб-приложения (web.xml
) или мне нужно разместить фильтр на уровне портлета? (размещение фильтров портлетов на portlet.xml
)
Если я не полностью ошибаюсь, все портлеты Spring запускаются в контексте Spring, который имеет доступ к обычному контексту веб-приложения, поэтому должно быть достаточно объявить фильтр как DelegatingFilterProxy
, где создаются мои объекты сеанса.
Я не прав с этой логикой?
Обновление:
Хорошо - возможно, я хочу что-то невозможное: я просто хочу создать сессионный компонент с информацией о пользователе, если пользователь входит в портал (JBoss Portal
). Я попытался использовать фильтр / прослушиватель для достижения этой цели, но ни один из моих подходов не работает. Я надеялся, что благодаря переносу моих портлетов JSR-168 на портлеты, поддерживаемые Spring.
Я поместил фильтр в свой web.xml
, но он срабатывает только при выходе пользователя из системы, а не при входе в систему.