2013-08-05 5 views
0

Я использую аутентификацию на основе форм для защиты своих страниц, или, по крайней мере, скоро.Перенаправить на сервлет после входа?

Я только недавно узнал об особенностях этого и ранее имел свою собственную доморощенную систему (это внутренняя система, в которую входят только 5 человек, но все же я хотел бы сделать это «Стандарт Java», если возможное).

Я хотел бы хранить несколько объектов в сеансе всякий раз, когда кто-то регистрируется в моем приложении, как и в настоящее время в моей домашней реализации. Однако с этой безопасностью, управляемой контейнером, я изо всех сил пытаюсь понять, как это сделать, или, по крайней мере, так, как это считается лучшей практикой.

После того, как я попытаюсь перейти на страницу и перенаправлен на страницу входа в систему, войдите в систему правильно, затем я логически доставлен в исходное место назначения, что является правильным. Что для меня лучше всего добавить, например, UserBean на сеанс? Должен ли я делать это в фильтре? или я могу перенаправить на сервлет после каждой попытки входа?

Любое руководство очень ценится. Благодарю.

ответ

1

Сервлет-фильтр почти наверняка является правильным решением для этой ситуации. Для того, чтобы обеспечить содержание фильтра работает только один раз в авторизации, я предлагаю установить его на что-то вроде этого:

if(session.getAttribute(firstLoginFlag) == null){ 
    //load UserBean 
    //do whatever else 
    session.setAttribute(firstLoginFlag, true); 
} 
chain.doFilter(request, response); 

Это, как правило, лучше, чем при перенаправлении на сервлет, потому что это делает фильтр независимо от любых других страниц или логики в вашем приложении, вам не нужно вводить в нее какую-либо логику, чтобы выталкивать пользователя в другое место после завершения загрузки UserBean и любого другого материала.

+0

Большое спасибо. – MasNotsram

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