Я использовал GWT 2.0 уже несколько дней. Поэтому я пытаюсь закодировать основное приложение с помощью формы входа и страницы, доступной только в том случае, если я вошел в систему.
Обычно в своем веб-приложении с jsf, например, я использую Spring Security 3.0 для настройки и защиты такого рода приложений.
Итак, я решил попробовать сделать то же самое с моим приложением GWT 2.0.
Я хорошо настроил серверную часть Spring Security. Таким образом, со своей страницы входа в GWT я могу ввести свой логин / пароль и выполнить аутентификацию через Spring Security. Перенаправление на защищенную страницу выполнено, и я могу получить подключенного пользователя через вызов службы безопасности rpc, который использует SecurityContext из Spring Security. Итак, я думаю, что часть в порядке.
Но у меня большая проблема с безопасностью URL. Действительно, я хотел бы защитить страницу, чтобы ограничить доступ к определенной роли, как я обычно делаю с Spring Security.
В моем приложении GWT я использую шаблон MVP с центральным контроллером приложения. Итак, у меня есть только одна страница, и для этой страницы я добавлю разные взгляды при добавлении #name_of_view в конец URL. Например, для доступа к моей странице входа в режиме разработки я использую следующий URL в своем браузере:
http: // 127.0.0.1:8888/fr.myapp.Application/Application.html?gwt.codesvr=127.0.0.1:9997#login
После того, как я правильно вошел в систему, я перейду к следующему виду:
http: // 127.0.0.1:8888/fr.myapp.Application/Application.html?gwt.codesvr=127.0.0.1:9997#pagesecured
Из-за этого я не знаю, как настроить тег http в Spring Security и как определить URL-адрес для перехвата, чтобы повлиять на их определенные роли для ограничения доступа.
Кроме того, я думаю, что будет проблема использовать эти URL между режимом разработки и классическим режимом производства. Нет?
Итак, кто-нибудь мог бы помочь мне настроить и защитить мое приложение с помощью этих URL-адресов? или с помощью другой техники для защиты приложения с помощью формы входа в систему?
Заранее спасибо за помощь.
Sylvain.