CAS и GWT — сохранение места GWT при перенаправлении CAS

Я пытаюсь использовать CAS в качестве решения SSO для своей организации. Одним из приложений, использующих это решение, является приложение GWT, использующее GWTP в качестве платформы MVP.

При попытке перейти к какому-то внутреннему месту в моем приложении, например:

http://myapp.com/myapp.html#!somePlace

фильтр CAS распознает, что я не аутентифицирован, и меня перенаправляют на страницу входа в систему CAS. Это ожидаемо. Но, как мы знаем, внутреннее состояние места (#!somePlace) не отправляется на сервер, поэтому оно не сохраняется в запросе перенаправления CAS. Поэтому после авторизации в CAS меня просто перенаправляют на:

http://myapp.com/myapp.html

Поэтому я не могу воспроизвести запрошенное внутреннее место.

Есть ли у кого-нибудь опыт интеграции CAS и GWT и решения или обхода этой проблемы?

Спасибо


person Ben Bracha    schedule 06.09.2012    source источник


Ответы (1)


В настоящее время на GitHub есть запрос на вытягивание для вашей задачи.

Вкратце, поскольку якорная часть исходного URL-адреса добавляется к параметру «service» страницы входа в серверное приложение CAS, самым простым решением будет добавить обработчик события «onsubmit» в форму на странице входа. В функции обработчика событий вы должны извлечь часть после «#» в текущем местоположении, а затем добавить эту часть к значению form.action.

person Artem Shafranov    schedule 14.09.2012