Допустим, что мой logout URL: app/logout. Мне нужно показать сообщение - «Вы успешно вышли из системы» на странице выхода из системы, только когда выход из системы был триггером, кликнув кнопку выхода.
Сообщение не должно отображаться, если пользователь вводит этот URL напрямую. Есть идеи, как это реализовать?Выход из системы безопасности - добавление сообщения только при выходе из системы вошедшего в систему пользователя
Контроллер:
@RequestMapping(value ="/logout", method = RequestMethod.GET)
public ModelAndView logout(HttpServletRequest request, HttpServletResponse response) {
ModelAndView model = new ModelAndView();
//some code here to distingish
model.addObject("msg", "You are succesfully logged out!");
model.setViewName("login");
return model;
}
весна-security.xml:
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-4.0.xsd «>
<http auto-config="true" create-session="ifRequired" use-expressions="true">
<intercept-url pattern="/logout" access="IS_AUTHENTICATED_REMEMBERED"/>
<form-login
login-page="/login"
default-target-url="/home"
authentication-failure-url="/login?error"
username-parameter="username"
password-parameter="password" />
<logout logout-success-url="/logout" invalidate-session="true" delete-cookies="JSESSIONID"/>
<!-- enable csrf protection -->
<csrf/>
</http>
<authentication-manager>
<authentication-provider>
<user-service>
<user name="mkyong" password="123456" authorities="ROLE_USER" />
</user-service>
</authentication-provider>
</authentication-manager>
Опасаясь ошибки: 'Не удалось оценить выражение 'IS_AUTHENTICATED_REMEMBERED.'' – Robby
Я отредактировал вопрос с spring-security.xml – Robby
@Robby ошибка' Не удалось оценить выражение' IS_AUTHENTICATED_REMEMBERED 'можно решить с помощью этого ответа: http://stackoverflow.com/a/33443212/3380951 –