如何从GWT UI正确转发到Spring注销URL?

时间:2013-02-26 14:05:34

标签: gwt spring-security logout

除了其他一些东西之外,我还构建了一个结合了Spring Security和GWT的小型示例应用程序。您可以在以下网址找到它:

https://github.com/steinsag/gwt-maven-scala

登录和身份验证工作正常。在生成的GWT页面中,我插入了一个Logout链接。它应该指向Spring Security注销链接。我使用了following GWT code

Anchor logoutLink = new Anchor("Logout");
logoutLink.addClickHandler(new ClickHandler() {
  @Override
  public void onClick(ClickEvent event) {
    Window.Location.assign("j_spring_security_logout");
  }
});

如果用户单击该链接,则会话终止并且用户已注销。但是,用户不会转发到登录页面。我怎样才能做到这一点?据我所知,在j_spring_security_logout之后,我无法将他转发到另一个URL。

任何想法如何实现?

2 个答案:

答案 0 :(得分:3)

您可以在spring security配置中指定logout url

<http auto-config='true'>
...
<logout logout-success-url="/login.jsp"/>
...
</http>

答案 1 :(得分:0)

虽然我在j_spring_security_logout页面上获得了404并且浪费了太多时间来寻找解决方案,但我遇到了类似的问题。想在这里分享,以防有人面临类似的问题。我不得不改变

Window.Location.assign("j_spring_security_logout");

Window.Location.replace(GWT.getHostPageBaseURL()+"j_spring_security_logout");

问题已解决。