Spring mvc 在SpringMVC应用程序中注销网站后,避免转到上一页
我制作了一个SpringMVC应用程序,其中提供了一个注销功能。 但是,每当我注销系统并按back键时,我都会被重定向到上一页,这在理想的注销情况下是不应该发生的 请帮助我如何避免这种情况 我的控制器注销部分如下所示:Spring mvc 在SpringMVC应用程序中注销网站后,避免转到上一页,spring-mvc,Spring Mvc,我制作了一个SpringMVC应用程序,其中提供了一个注销功能。 但是,每当我注销系统并按back键时,我都会被重定向到上一页,这在理想的注销情况下是不应该发生的 请帮助我如何避免这种情况 我的控制器注销部分如下所示: @RequestMapping( value="/logout",method = RequestMethod.GET) public ModelAndView logout(HttpServletRequest request, HttpServletResponse resp
@RequestMapping( value="/logout",method = RequestMethod.GET)
public ModelAndView logout(HttpServletRequest request, HttpServletResponse response, HttpSession session)
{
session=request.getSession(false);
if(session!=null)
{
l.info(""+session.getAttribute("username"));
session.invalidate();
}
response.setHeader("Cache-Control","no-cache");
response.setHeader("Pragma","no-cache"); //HTTP 1.0
response.setHeader("Cache-Control","no-store"); //HTTP 1.1
response.setDateHeader ("Expires", 0); //prevents caching at the proxy server
String redirect="jsp/index";
return new ModelAndView(redirect);
}
我已经试过了,对我来说效果很好。 将此处理程序添加到spring安全文件中
<logout success-handler-ref="logoutSuccessHandler"
invalidate-session="true" delete-cookies="JSESSIONID" />
<beans:bean id="logoutSuccessHandler"
class="com.neosyn.security.CustomLogoutSuccessHandler">
<beans:property name="useReferer" value="true" />
</beans:bean>
}谢谢是的,这很好用。。。。。我还想知道,除了使用SpringSecurity,还有其他方法可以做到这一点吗???
public class CustomLogoutSuccessHandler extends SimpleUrlLogoutSuccessHandler {
@Override
public void onLogoutSuccess(HttpServletRequest request,
HttpServletResponse response, Authentication authentication)
throws IOException, ServletException {
setAlwaysUseDefaultTargetUrl(true);
setDefaultTargetUrl("/home");
super.onLogoutSuccess(request, response, authentication);
}