Je vais avoir du mal à comprendre JAAS. Tout cela semble plus compliqué que ce qu'il devrait être (en particulier le Soleil tutoriels). J'ai besoin d'un tutoriel ou d'un exemple sur la façon de mettre en œuvre la sécurité (authentification + autorisation) dans l'application java basée sur Struts + Spring + Hibernate avec la coutume de l'utilisateur du référentiel. Peut être implémentée à l'aide d'ACEGI.
Réponses
Trop de publicités?D'autres utilisateurs ont fourni quelques liens utiles ci-dessus donc je ne vais pas vous embêter avec des liens. J'ai fait une recherche similaire dans JAAS de l'application web, et a couru dans un esprit "barrage" jusqu'à ce que je de réaliser enfin JAAS est un cadre de la lutte contre la sécurité à une autre "couche" puis des applications web dans le Monde Java. Il est construit pour lutter contre les problèmes de sécurité dans Java SE pas Java EE.
JAAS est un cadre de sécurité intégré pour la sécurisation des choses à un niveau beaucoup plus bas du web-application. Quelques exemple de ces choses sont code et les ressources disponibles au niveau de la JVM, par conséquent, toutes ces possibilité de définir la politique de fichiers dans la JVM.
Cependant, depuis Java EE est construite au-dessus de Java SE, quelques modules de JAAS ont été réutilisés dans Java EE de la sécurité tels que la LoginModules et des Rappels.
Notez qu'en plus de Java EE de sécurité, il est aussi le Printemps de sécurité (anciennement connu sous le Acegi), qui est comparable à natif de Java EE de sécurité s'attaque à beaucoup plus de "couche" dans la sécurisation des applications web de problème. C'est une sécurité mise en œuvre et n'est pas construit sur le sommet de la norme Java EE de sécurité, bien qu'il se comporte de la même manière, à de nombreux égards.
Pour résumer, sauf si vous êtes à la recherche pour obtenir des ressources dans le Java SE niveau (classes, les ressources du Système), je ne vois pas vraiment l'utilité de JAAS autres que l'aide de la commune de la classe et des interfaces. Suffit de se concentrer sur l'utilisation de Ressort de Sécurité ou de plain old Java EE de sécurité qui, à la fois de résoudre beaucoup de communes de sécurité des applications web de problèmes.
Voici quelques liens que j'ai utilisé pour aider à comprendre JAAS:
http://www.owasp.org/index.php/JAAS_Tomcat_Login_Module
http://www.javaworld.com/jw-09-2002/jw-0913-jaas.html
À découvrir également l'Apache tomcat royaumes de configuration comment:
javax.la sécurité est à mon humble avis trop compliqué de l'API. Par conséquent, il existe des réalisateurs de non seulement LoginModules, mais l'ensemble de l'authentification et de l'autorisation de l'api, qui crée une couche d'abstraction au-dessus, comme l'Authentification Et l'Autorisation des gestionnaires.
Pour commencer, il est bon à imprimer cela dans votre mémoire.
Deuxièmement, à mon humble avis le plus simple d'installation et d'aller à la bibliothèque pour JAAS est Jboss PicketBox. Il dit comment faire de l'authentification et de l'autorisation par le biais d'JBossAuthenticationManager et JBossAuthorizationManager ... Facilement configurable via XML ou des Annotations. Vous pouvez l'utiliser pour gérer à la fois les applications web et les applications autonomes.
Si vous besoin de l'autorisation de la partie pour la gestion de l'accès au dépôt, dans les conditions de l'ACL pour les ressources, c'est ce que vous êtes à la recherche pour vous.
Problème avec la sécurité de l'est, qui, généralement, vous avez besoin de le personnaliser en fonction de vos besoins, de sorte que vous pouvez vous retrouver à mettre en œuvre :
LoginModule - vérifie le nom d'utilisateur + Mot de passe
CallbackHandler est utilisé comme cela, new LoginContext("Sample", new MyCallbackHandler());
CallbackHandler est transmis à la sous-jacentes LoginModules de sorte qu'ils peuvent communiquer et interagir avec les utilisateurs - qui demande un nom d'utilisateur et mot de passe via une interface utilisateur graphique, par exemple. Donc, à l'intérieur de la Gestionnaire, vous obtenez le nom d'utilisateur et le mot de passe de l'utilisateur et il est passé à la LoginModule.
LoginContext - ensuite, vous appelez simplement lc.login(); et authentifier les informations d'identification. LoginContext est rempli avec le Sujet authentifié.
Cependant Jboss picketbox vous donne vraiment un moyen facile d'aller, sauf si vous avez besoin quelque chose de spécifique.
lsiu la réponse est l'un des quelques réponses ici que vraiment "obtenir" ;)
L'ajout de la réponse à cette question, une très bonne référence sur ce sujet est ce qui est Arrivé à JAAS?.
Il explique comment JASPIC est le lien dans Java EE entre la Servlet, EJB modèles de sécurité et potentiellement une connexion JAAS module, mais que, dans de nombreux cas, JAAS rôle est réduit à celui d'un relativement simple nom d'utilisateur et les rôles de fournisseur de Java EE.
Du même auteur est JAAS dans l'Entreprise, qui est un ancien article mais offre beaucoup d'historique sur les raisons de la Java SE (JAAS) et Java EE modèles divergent comme ils l'ont fait.
Dans l'ensemble, mais quelques types de JAAS sont utilisés directement dans Java EE, fondamentalement Principal
, Subject
, et CallbackHandler
. Les deux derniers sont principalement utilisés par JASPIC. J'ai expliqué JASPIC dans l'article la mise en Œuvre de conteneur d'authentification dans Java EE avec JASPIC.
Je ne peux pas parler trop de JAAS lui-même, mais ce "étapes" guide sur le Printemps de Sécurité et le manuel de référence sont à la fois assez de bonnes ressources sur la Sécurité Printemps - si votre installation est quelque chose de simple, vous n'avez pas vraiment besoin de faire beaucoup plus que de lire ces.