Я хотел бы добавить функциональность гостей: это означает, что гости - объекты, которые действуют как пользователи, но не сохраняются и имеют ROLE_GUEST
вместо ROLE_USER
. Я хотел бы сохранить guestID в сеансе, поэтому, когда гость что-то делает, я могу получить гостя и предпринять действия под именем гостя. Как бы добавить эту информацию, если я хочу сохранить Stateless Servlet
.Хранить информацию о гостях в Spring SecurityContextHolder
Мой текущий Войти для зарегистрированного пользователя, как это:
auth = new UsernamePasswordAuthenticationToken(username, password, auths);
Authentication result = authManager.authenticate(auth);
SecurityContextHolder.getContext().setAuthentication(result);
Я ищу что-то либо похожее на это или способ добавить имя гостя где-то в SecurityContextHolder.getContext() непосредственно. Могу ли я получить объект весны Session
или другой сеанс, чтобы сохранить эту информацию?
Я не использую Spring MVC
.
В этой конфигурации имя гостя фиксировано и нет возможности различать гостей. Я ищу способ прикрепить к ним уникальное имя для гостей. – Vjeetje
Как получить уникальное имя для неаутентифицированного запроса? – zagyi
У меня есть UserManager, который имеет список гостей, новое имя создается следующим образом: String guestName = "guest" + random.Int(); Если имя гостя уже находится в списке, будет проверено другое имя guestname. Имя пользователя, которое старше 24 часов, удаляется из списка. То, что я на самом деле ищу, - это способ привязать имя guest к сеансу и определить, когда сеанс нарушен, чтобы удалить guestName. Но я не знаю, как ... – Vjeetje