使用Spring进行GWT登录 - URL问题

时间:2013-02-21 10:35:23

标签: gwt login spring-security

我正在尝试解决GWT中的URL登录问题。我们正在使用弹簧安全。问题是一切都在开发模式下工作,但在tomcat中,在WAR中失败了。

application-context-security.xml seetings:

<form-login authentication-success-handler-ref="mySuccessHandler" authentication-failure-handler-ref="myFailureHandler" login-processing-url="/login" />

我有自己的login.html文件,其中包含HTML表单元素<form action="/login">

我有两个Spring处理程序,重定向到Login.html或MyApplication.html(内容,服务)取决于用户是否验证。

如果我将我的应用程序打包到vsp.war(localhost:8080 / vsp /)并运行它,它将转到Login.html,这是正确的。但总是如果我进行身份验证或不进行身份验证:8080 /登录状态为404.

我的最终WAR结构是:

  • 登录
    • login.nocache.js
  • VSP
    • vsp.nocache.js
  • 的login.html
  • MyApplication.html

我有两个模块用于登录和其他应用程序(服务)。

失败认证处理程序方法示例:

@Override
public void onAuthenticationFailure(HttpServletRequest request,
        HttpServletResponse response, AuthenticationException exception)
        throws IOException, ServletException {

    // always send HTTP 403
    response.setStatus(HttpServletResponse.SC_FORBIDDEN);
    final StringBuilder URL = new StringBuilder("Login.html?");
    if(!GWT.isProdMode()) {
        URL.append("gwt.codesvr=127.0.0.1:9997&");
    }
    URL.append("error=true");
    response.sendRedirect(URL.toString());

}

任何人都可以帮我解决我的错误吗?问题是,如果必须有/Login.html或Login.html ot / login或其他不同的东西,我不理解URL。

任何帮助将不胜感激。

关心卢卡斯

1 个答案:

答案 0 :(得分:0)

问题解决了。我使用/登录Spring安全登录,还使用Login.gwt.xml,Login.java用于GWT部分。并且正确的网址存在问题。当我将Spring安全登录更改为不同的(/ differentLogin)时,everythinkg在托管和Web模式下工作正常。