首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过Spring 3安全注销

通过Spring 3安全注销
EN

Stack Overflow用户
提问于 2013-12-15 07:41:04
回答 1查看 177关注 0票数 0

无论我做什么,我都不能登出去工作。我有一个菜单,只能通过成员角色查看。我已经尝试了会话的失效,以及通过Spring文档的/j_spring_security_logout ...两者都会转到主页,但菜单和凭据会显示在主页上。因此,注销不起作用。下面是我的Spring Security.xml文件条目。

代码语言:javascript
复制
<logout logout-url="/logout"/>
<logout logout-url="/j_spring_security_logout" logout-success-url="/home" 
        delete-cookies="JSESSIONID"  invalidate-session="true"/>

如你所见,这两个我都试过了。这是注销控制器。

代码语言:javascript
复制
@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://");
}

任何帮助都是非常感谢的。

EN

回答 1

Stack Overflow用户

发布于 2013-12-15 17:33:29

您只需要一个注销处理程序,而不需要额外的控制器:

代码语言:javascript
复制
<logout logout-url="/logout" logout-success-url="/home" />

只要让用户请求url http://localhost/yourApp/logout即可。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20589551

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档