Bonjour,
J'utilise GWT 2.0 depuis quelques jours maintenant et j'essaie de mettre en place une application basique avec un formulaire de login et une page accessible seulement lorsque l'ont est loggué correctement.
Habituellement pour ce type de problématique, j'utilise Spring Security dans mes applications JSF par exemple. J'essaie donc d'intégrer Spring Security 3.0 à cette petite application GWT 2.0.
Je suis arrivé à configurer correctement la partie serveur de Spring Security de tel sorte que lorsque je valide le formulaire de login sur ma page GWT, l'authentification est réalisée via Spring Security. Je bascule ensuite ma vue vers la page sécurisée et sur celle ci je peux accéder au nom de l'utilisateur connecté via un appel RPC au SecurityContext de Spring Security.
La partie serveur me semble bonne de ce point de vue là. Cependant, j'ai des problèmes pour sécuriser les URLS de mon application comme j'ai l'habitude de le faire avec Spring Security sur des applications JSF par exemple.
Plus précisément, j'aimerais pouvoir restreindre l'accès de certaines pages en limitant leur accès suivant le rôle de l'utilisateur connecté via Spring Security.
Dans mon application GWT, j'utilise le design pattern MVP avec un applicationController central. Du coup, je n'ai qu'une page dans mon application à laquelle est ajouté un #nom_de_la_vue à la fin de l'URL.
Par exemple, pour accéder à ma page de login en mode développement j'utilise l'URL suivante dans mon navigateur :
http://127.0.0.1:8888/fr.myapp.Appli...0.1:9997#login
Une fois que je suis correctement authentifié, je vais vers la vue de la page sécurisée :
http://127.0.0.1:8888/fr.myapp.Appli...97#pagesecured
A cause de ça, je ne sais pas comment configurer mes interceptor-url dans le tag http du fichier de configuration Spring Security. Du coup, je ne peux pas limiter l'accès de mes pages (ou vues dans ce cas là pour être plus précis) suivant le rôle et suivant l'authentification de l'utilisateur courant.
En outre, je pense qu'il faut prendre en compte le fait que ces URL seront différentes en mode production.
Est-ce que quelqu'un a déjà eu à faire à ce genre d'intégration et quelle stratégie a t il mis en place pour sécuriser ses urls ? ou bien quelle autre technique faudrait il mettre en place pour pouvoir réaliser cela ?
Merci de votre aide.
Sylvain
Partager