Я внедряю пользовательский сервис запомнить меня, чтобы установить более высокую дату истечения срока действия Cookie «Помни меня» весны.
RememberMeService расширяет TokenBasedRememberMeService
public RememberMeService() throws Exception {
super();
}
@Override
protected void setCookie(String[] tokens, int maxAge, HttpServletRequest request, HttpServletResponse response) {
Integer age = 60*60*24*365*10;
String cookieValue = encodeCookie(tokens);
Cookie cookie = new Cookie(getCookieName(), cookieValue);
cookie.setMaxAge(age);
cookie.setPath(StringUtils.hasLength(request.getContextPath()) ? request.getContextPath() : "/");
response.addCookie(cookie);
}
весна-security.xml
<remember-me services-ref="rememberMeServices" />
<beans:bean id="rememberMeServices" class="yorpackage.RememberMeService">
<beans:property name="key" value="YASUU_REM" />
<beans:property name="alwaysRemember" value="true" />
</beans:bean>
Все работает нормально, Cookie установлен с 10-летним сроком годности.
Моя проблема заключается в том, что когда я закрываю браузер, снова открываю его и захожу на сайт, cookie удаляется, и я не могу получить автоматический вход на страницу.
Любые предложения, почему это происходит? Спасибо 4 помощь
EDIT
После некоторого исследования я вижу, что Spring находит вошедшего в систему пользователя с помощью файла cookie, loadUserByUsername () находит правильного пользователя, но автоматический вход не выполнен, и файл cookie удаляется. Почему?