GWT - весенняя безопасность - тайм-аут сессии - PullRequest
2 голосов
/ 23 февраля 2012

У меня есть веб-приложение GWT + Spring Security. Я пытался добавить:

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

Однако, когда я пытаюсь проверить это. Кажется, я вижу:

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

с сообщением в качестве HTML-содержимого X.html. Может кто-нибудь посоветовать, пожалуйста, как это исправить?

Ответы [ 2 ]

1 голос
/ 23 февраля 2012

Если вы хотите перенаправить в /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
}
1 голос
/ 23 февраля 2012

Поскольку GWT связывается с сервером через запросы Ajax RPC, браузер не будет перенаправлен на X.html. То, что вам нужно сделать при вызове службы, это вызвать исключение, если они не авторизованы и обрабатываются в void onFailure(Throwable caught) методе вашего AsyncCallback.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...