GWT - 弹簧安全 - 会话超时

时间:2012-02-23 01:51:58

标签: gwt spring-security

我有一个GWT + Spring Security网络应用程序。我试图添加:

<security:session-management invalid-session-url="/X.html"/>

但是,当我尝试测试时。我好像看到了:

com.google.gwt.user.client.rpc.InvocationException

将消息作为X.html的HTML内容。有人可以建议如何解决这个问题吗?

2 个答案:

答案 0 :(得分:1)

由于GWT通过Ajax RPC请求与服务器通信,因此浏览器不会重定向到X.html。如果未经授权,您需要在服务调用中执行操作,并使用void onFailure(Throwable caught)的{​​{1}}方法处理。

答案 1 :(得分:1)

如果您想重定向到/X.html,请尝试:

Window.Location.replace(GWT.getHostPageBaseURL()+"X.html");

但是,如果要将请求发送到服务器,请使用RequestBuilder:

String url = GWT.getHostPageBaseURL() + "/X.html";

RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, URL.encode(url));

try {
    Request request = builder.sendRequest(null, new RequestCallback() {
    public void onError(Request request, Throwable exception) {
        // invalid request
    }

    public void onResponseReceived(Request request, Response response) {
        if (200 == response.getStatusCode()) {
            // success
        } else {
            // sth went wrong
        }
    }
});
} catch (RequestException e) {
  // couldn't connect to server
}