2013-10-15 7 views
1

Я работаю над Struts 2 с Hibernate 3. В моем приложении у меня много пользователей, и каждый будет администратором. Привилегии каждого пользователя будут сохранены на их сеансе HTTP. Когда пользователь-администратор вносит некоторые изменения в другого пользователя, который в настоящий момент вошел в систему, как я могу заставить его обновить его сеанс. Я знаю, что могу получить это из базы данных, но я не хочу удалять базу данных для каждого действия. Есть ли лучший способ сделать это?Struts 2 разделяет значения сеанса от одного пользователя к другому

ответ

1

Ваш лучший выбор - это, вероятно, HttpSessionListener и хранить ссылки где-нибудь, например, статическая карта <Integer, HttpSession> с использованием идентификатора пользователя в качестве ключа Integer.

В вашем слушателе сеанса добавьте сеанс, при выходе из системы и аннулирование сеанса (например, тайм-аут) убедитесь, что вы его удалили, хотя это, вероятно, не имеет значения.

Существует ряд проблем синхронизации, которые могут возникнуть, но если вы знакомы с такими вещами, ни один из них не может быть трудно решить.

+0

Спасибо Дэйв ... Я буду работать над этим ... – Ram

Смежные вопросы