Je travaille actuellement sur une application Web basée sur Java EE 7, PostgreSQL et le serveur d'application GlassFish 4. J'ai besoin de mettre en place une authentification basée sur un formulaire et de sécuriser certaines URL en sachant que:Java EE 7 Authentification par formulaire
- les utilisateurs et les rôles/groupes (quel que soit leur nom) sont stockés dans la base de données.
- Je voulais que ma demande soit comme « standard » que possible (je suis actuellement en utilisant JSF et JPA, et aucun autre cadre comme ressort, Struts ...)
Après quelques recherches, je trouve que Java EE a fourni un mécanisme d'authentification standard appelé JASPIC. J'ai donc concentré mes recherches sur JASPIC et j'ai lu plusieurs Q/A de Stackoverflow et ces articles écrits par Arjan Tijms (Il est presque impossible de trouver un Q/A Stackoverflow lié à Java EE sans une de ses réponses ou commentaires, merci à lui le chemin):
- http://arjan-tijms.blogspot.fr/2012/11/implementing-container-authentication.html
- http://arjan-tijms.blogspot.fr/2013/04/whats-new-in-java-ee-7s-authentication.html
- http://arjan-tijms.blogspot.fr/2014/03/implementing-container-authorization-in.html
Ma question est: va JASPIC me permettre de faire ce que je dois (sous forme d'authentification + restriction d'URL avec des rôles) et est-il vaut le coup Comment l'utiliser? Ce que je veux dire, c'est: il est peut-être plus sûr et plus facile d'utiliser un autre mécanisme. Arjan Tijms dit aussi que le fait d'utiliser JASPIC est "une sorte de problème de poulet et d'oeuf" et si JASPIC est sûr à utiliser (il ne crée pas plus de problèmes qu'il n'en résout), peu importe le montant de code que j'ai besoin d'écrire, je veux vraiment être "l'un des premiers poulets".
La sécurité est d'augmenter la sécurité, pas de l'imposer. Vous êtes aussi sûr que le lien le plus faible dans votre environnement d'exécution du système, souvent ce lien le plus faible est un être humain. À mon avis honnête, tout ce que vous devez savoir pour vous décider est le premier (merveilleux) lien que vous avez publié. Merci de partager ceux d'ailleurs. Autre que cela, il y a aussi la page de tutoriels JEE sur la sécurité: http://docs.oracle.com/javaee/6/tutorial/doc/gkbaa.html – Gimby