Независимо от того, что я делаю, я не могу выйти из системы на работу. У меня есть меню, которое отображается только через роль членов. Я пробовал как недействительный сеанс, так и файл/j_spring_security_logout через документацию Spring ... Оба переходят на главную страницу, но меню и учетные данные отображаются на главной странице. Таким образом, выход из системы не работает. Вот мои записи в файле Spring Security.xml.Выход из системы Spring 3 Безопасность
<logout logout-url="/logout"/>
<logout logout-url="/j_spring_security_logout" logout-success-url="/home"
delete-cookies="JSESSIONID" invalidate-session="true"/>
Как вы можете видеть, я пробовал оба. Здесь находится контроллер выхода.
@RequestMapping(value = "/logout", method=RequestMethod.GET)
public String logout(HttpServletRequest request, HttpServletResponse response) {
logger.info("Logging out!");
response.setHeader("pragma", "no-cache");
response.setHeader("Cache-control", "no-cache, no-store, must-revalidate");
response.setHeader("Expires", "0");
Cookie jSessionCookie = new Cookie("JSESSIONID", null);
jSessionCookie.setMaxAge(0);
response.addCookie(jSessionCookie);
Cookie activityIdCookie = new Cookie("activityId", null);
activityIdCookie.setMaxAge(0);
response.addCookie(activityIdCookie);
request.getSession().invalidate(); //Attempt to logout user.
return ("redirect://");
}
Любая помощь очень ценится.
* Выход * обрабатывается цепочкой фильтров безопасности (как и почти все в Spring Security). Фактический запрос * logout * никогда не попадет на сервлет диспетчера. Не выполнять логику выхода вручную (недействительность сеанса и т. Д.). См. * Ответ * Ralph ... –