Spring MVC сохраняет данные пользователя в сеансе

77
10

Я создаю приложение, используя Spring MVC и Hibernate, где люди могут регистрировать и хранить некоторые данные в своих учетных записях. Я создал процессы регистрации и входа в систему. И теперь у меня есть вопрос, как я могу сохранить сеанс пользователя? Я не хочу содержать идентификатор пользователя на каждой странице своего приложения. Например: как только пользователь зарегистрировался, он приходит на страницу

someurl/overview/1

Где id - это идентификатор пользователя. Я бы хотел, чтобы это выглядело так для каждого зарегистрированного пользователя:

someurl/overview/

Каковы наилучшие методы сохранения пользовательских данных в сеансе с использованием Spring и сохранения его, если пользователь закрыл сайт, а затем открыл его?

Заранее спасибо.

спросил(а) 2021-01-25T15:34:36+03:00 5 месяцев назад
1
Решение
100

Вы можете сохранять пользовательские данные в сеансе несколькими способами. Простейшим может быть:

public ModelAndView yourMethod(HttpSession session){

session.setAttribute("user", 1);
return new ModelAndView("home");

}

вы будете доступны с сессией все время, если используете пружинные компоненты, поэтому просто добавьте этот параметр и используйте его.

EDIT: также можно использовать атрибуты Spring session: http://fruzenshtein.com/spring-mvc-session/, если он удовлетворяет вашим требованиям.

EDIT (Спасибо @Serge Ballesta за то, что он поместил его в комментарии, просто обновив пост FYI)

даже если API не применяет его, спецификация требует, чтобы все атрибуты сеанса были Serializable. Подумайте об этом, если вы храните больше, чем идентификатор.

ответил(а) 2021-01-25T15:34:36+03:00 5 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема