Я использовал функцию «Помни меня» в Spring Security 3.0.5, и на своих страницах jsp я пытался получить доступ к данным пользователя.
public class UserDetailsImpl implements UserDetails, Serializable
с несколькими дополнительными атрибутами (URL-адрес изображения, полное имя и т. Д.).Теперь, если я получаю доступ к этим атрибутам, используя
<sec:authentication property="details.pic"/>
после обычного входа в систему (когда функция «запомнить меня» не срабатывает), все работает нормально.
Однако, когда я закрываю браузер и снова- при открытии моей защищенной страницы функция запомнить меня возвращает другой объект вместо объекта сведений.
Как я могу это исправить?Или мне следует рассмотреть два разных случая?
Спасибо.
Позже Редактировать: В итоге я получил это в своем jsp:
<sec:authorize access="isRememberMe()">
<c:set var="user" value="${pageContext.request.userPrincipal.principal}" />
</sec:authorize>
<sec:authorize access="isFullyAuthenticated()">
<c:set var="user" value="${pageContext.request.userPrincipal.details}" />
</sec:authorize>
Это делает работу, но мне не очень нравится подход ..