On 09/26/2012 05:20 PM, Eric Chatellier wrote:
Je ne connais pour l'instant pas du tout shiro, et je m’interroge sur la façon la plus propre de créer des interfaces web dans une lib pour l'utiliser dans une application (jsp et servlet) : si possible sans passer par des taglib.
Pas facile de proposer des composants graphiques génériques, réutilisable dans n'importe-quel framework basé sur Servlet/JSP. En gros, tu veux faire une taglib sans passer par taglib.
La persistance serait plutôt orientée ToPIA.
La librairie devra être suffisamment générique pour servir à plusieurs projets. Le but de mon application est simplement très basic, suivant les rôles de l'utilisateur, il s'agira de cacher des entrées de menu (voire limite d'interdire l'accès aux actions struts), mais rien concernant le rendu des pages ou le filtrage des données.
De mon point de vue : * Il est extrêmement prématuré étant donné notre faible expérience de Shiro (mise en oeuvre rapide dans l'extranet, pas encore en place sur Pollen) de lancer dans l'écriture d'une surchouche. * De ce que j'en ai vu, Shiro fait très bien le job. Pas besoin de surcouche. * Il me semble que faire la lib d'abord n'est pas la bonne démarche, c'est mettre la charrue avant les boeux. Il me semble qu'il faut d'abord faire quelque-chose dans le projet en lui-même, vérifier que l'approche est bonne puis plus tard, extraire s'il s'avère qu'un autre projet peut prendre appui sur l'API dégagée. Pondre une lib et considérer que c'est la bonne façon de faire parce que "ça marche sur le projet que je fais dans mon coin" c'est la meilleure façon de faire un truc qui en fait aurait du rester dans le projet client plutôt que d'en faire une lib. Cf topia-service-transformer, topia-security...
Auriez vous des pistes concernant le codage des views (jsp) et code (???) dans ce cas ?
Oui. Utiliser Shiro directement. Dans l'extranet tu as un exemple (menu de gauche, dans le template sitemesh). On verra bien après. Si, une fois que tu as terminé, tu découvres qu'il y a certaines portions de codes rébarbatives, des répétitions, des choses qu'on pourrait généraliser ou qu'on se rend compte qu'on a des portions de codes qui reviennent plusieurs fois aussi bien dans l'extranet, Pollen, ton projet, alors il sera temps de se poser la question de créer une surcouche. Donc pour moi. Utilise Shiro. Et on en reparle après. -- Brendan Le Ny, Code Lutin bleny@codelutin.com (+33) 02 40 50 29 28