我正在尝试解决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结构是:
我有两个模块用于登录和其他应用程序(服务)。
失败认证处理程序方法示例:
@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。
任何帮助将不胜感激。
关心卢卡斯
答案 0 :(得分:0)
问题解决了。我使用/登录Spring安全登录,还使用Login.gwt.xml,Login.java用于GWT部分。并且正确的网址存在问题。当我将Spring安全登录更改为不同的(/ differentLogin)时,everythinkg在托管和Web模式下工作正常。