IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement Web en Java Discussion :

JAAS dans une application JEE


Sujet :

Développement Web en Java

  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2010
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 37
    Points : 14
    Points
    14
    Par défaut JAAS dans une application JEE
    Bonjour tout le monde,
    Cela fait longtemps qu'on n'a pas répondu à mes questions alors j'espère que cette fois j'aurais une réponse
    Je ne sais pas si je suis sur le bon forum mais j'ai croisé pas mal de discussions à propos de JAAS avec JEE mais je vous assure que c'est pas comme mon cas surtout que je suis débutante alors je sais pas par où commencer.

    Je développe une application de gestion des ressources humaines (Netbeans, glassfish, jsf 2.0, Hibernate) que j'aimerais sécuriser :
    * Authentification par login et pass
    * Autoriser accès à certaines pages et composants (bouton d'ajout par exemple) selon login/pass et interdire d'autres pages et composants.
    * Interdire accès à l'application depuis l'URL.

    D'abord est ce que JAAS pourrait m'aider à interdire accès au composants graphiques (bouton,lien,...). Par exemple, si l'utilisateur rempli un formulaire d'ajout et qu'il n'a pas le profil demandé, lorsqu'il clique sur le bouton d'ajout on le redirige vers une page de "vous n'avez pas le droit d'ajout".

    Je n'ai pas les idées claires pour ce qui est JAAS et s'il y a un autre moyen plus facile que JAAS ou convenable à mon cas je vous prie de me le poster.

    Merci d'avance

  2. #2
    Membre à l'essai
    Inscrit en
    Mai 2010
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 37
    Points : 14
    Points
    14
    Par défaut
    J'aimerais aussi ajouter que je ne travaille pas avec les rôles et je travaille sous mysql dernière version.

  3. #3
    Membre à l'essai
    Inscrit en
    Mai 2010
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 37
    Points : 14
    Points
    14
    Par défaut
    Aucune suggestion?
    c'est bien dommage je croyais que cette fois-ci j'aurais une réponse.
    Je n'avais le droit à une réponse qu'une seule fois

  4. #4
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 274
    Points : 4 141
    Points
    4 141
    Par défaut
    Pour ce qui est de l'authentification et des autorisations par pages, tu peux le gérer assez facilement via le web.xml et éventuellement un peu de configuration de ton serveur d'application.
    Regarde les balises <security-constraint> et <login-config>.

    Pour ce qui est des boutons et des liens, tu vas à priori devoir le gérer dans ta couche présentation toi même.

    Qu'est-ce qui t'empêche d'utiliser les rôles ?

  5. #5
    Membre à l'essai
    Inscrit en
    Mai 2010
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 37
    Points : 14
    Points
    14
    Par défaut
    D'abord merci pour la réponse.
    Pour ce qui est rôles je les créait sur Oracle mais j'ai croisé quelque part sur le net qu'il n y a pas moyen de créer des rôles sous mysql.
    Sinon pour ce qui est gestion d'accès via mes boutons et lien, pourriez-vous m'éclaircir un peu comment faire depuis la couche présentation?

  6. #6
    Membre à l'essai
    Inscrit en
    Mai 2010
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 37
    Points : 14
    Points
    14
    Par défaut
    Aussi j'aimerais savoir comment configurer mon serveur d'application.

    Juste un point : Je travaille avec des pages xhtml et non pas jsp

    Merci

  7. #7
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 274
    Points : 4 141
    Points
    4 141
    Par défaut
    Tu peux très bien utiliser les rôles avec MySql, il faudra simplement créer les tables et colonnes adéquates.

    Pour la configuration, cela dépend de ton serveur d'application.
    La partie standard se trouve dans le web.xml.
    Un petit exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    <security-constraint>
            <web-resource-collection>
                <web-resource-name>Secure Content</web-resource-name>
                <url-pattern>/</url-pattern>
            </web-resource-collection>
            <auth-constraint>
                <role-name>admin</role-name>
            </auth-constraint>
            <user-data-constraint>
                <transport-guarantee>NONE</transport-guarantee>
            </user-data-constraint>
        </security-constraint>
     
        <login-config>
            <auth-method>BASIC</auth-method>
        </login-config>
     
        <security-role>
            <description>The role required to access restricted content </description>
            <role-name>admin</role-name>
        </security-role>
    La partie <security-constraint> permet de sécuriser l'accès à certaines pages selon une URL et pour un rôle donné.

    La partie <login-config> permet de définir la méthode d'authentification utilisée

    Enfin la partie <security-role> permet de définir les rôles utilisés.

    Je te laisse te renseigner sur le web pour plus d'informations.


    Tu n'as pas du tout de servlet ou jsp ?

  8. #8
    Membre à l'essai
    Inscrit en
    Mai 2010
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 37
    Points : 14
    Points
    14
    Par défaut
    Je travaille avec JSF et j'ai opté pour des facelets au lieu des jsp (je travaille avec des templates) alors mes pages web sont des fichiers xhtml et vers la suite je ferais une redirection vers des pages avec extension .jsf

    Merci pour les idées que vous m'aviez offertes je vais chercher la dessus et les essayer et je vous informe du résultat le plus rapide possible.

    Merci encore une fois.

  9. #9
    Membre à l'essai
    Inscrit en
    Mai 2010
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 37
    Points : 14
    Points
    14
    Par défaut
    J'ai réussi à résoudre une moitié de mon problème grâce à ces deux lignes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    FacesContext facesContext = FacesContext.getCurrentInstance();
            Authentification.AuthBean auth = (Authentification.AuthBean) facesContext.getApplication().getELResolver().getValue(facesContext.getELContext(), null, "AuthBean");
    Ces deux lignes de codes m'ont permis d'accéder à une session de n'importe quel managed bean de mon projet. Alors avec ce code j'accède à la session du managed bean d'authentification "AuthBean" pour réccupérer le login/pass courant.

    Ce qui me reste à faire et que je n'ai pratiquement aucune idée la dessus est que j'aimerais interdire aux utilisateurs d'accéder aux pages en tapant son URL.

    Est-ce-que quelqu'un a une idée comment le faire? car comme ça je pourrais enfin finaliser la sécurité de mon application

  10. #10
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 274
    Points : 4 141
    Points
    4 141
    Par défaut
    Tu peux mettre tes pages dans le répertoire WEB-INF, elles seront protégées contre un accès direct.

  11. #11
    Membre à l'essai
    Inscrit en
    Mai 2010
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 37
    Points : 14
    Points
    14
    Par défaut
    Oui mais je travaille avec des facelets et j'ai lu dans une autre discussion sur ce forum que cette méthode ne fonctionne pas avec les facelets (juste les pages jsp)

  12. #12
    Membre à l'essai
    Inscrit en
    Mai 2010
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 37
    Points : 14
    Points
    14
    Par défaut
    Est-ce qu'il y a des suggestions?

  13. #13
    Membre à l'essai
    Inscrit en
    Mai 2010
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 37
    Points : 14
    Points
    14
    Par défaut
    c'est du gachi si je ferme cette discussion sans arriver à une solution.

    J'espère que quelqu'un puisse me suggérer une solution ça m'aidera énormément comme ça aidera d'autres.

    Merci

  14. #14
    Candidat au Club
    Inscrit en
    Janvier 2010
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 3
    Points : 4
    Points
    4
    Par défaut
    Bonjour,

    Je te conseille de voir coté spring security (http://static.springsource.org/spring-security/site/)

  15. #15
    Candidat au Club
    Inscrit en
    Janvier 2010
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 3
    Points : 4
    Points
    4
    Par défaut
    Ou consulter mon blog sur ce thème : http://securityjee.blogspot.com/

Discussions similaires

  1. Le filtre urlrewrite dans une application JEE
    Par Imane198 dans le forum Servlets/JSP
    Réponses: 0
    Dernier message: 06/01/2012, 14h57
  2. JAAS dans une application JEE Web
    Par yashiro dans le forum Développement Web en Java
    Réponses: 0
    Dernier message: 21/02/2011, 16h29
  3. La nécessité des Servlet dans une application JEE
    Par mesken dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 24/01/2011, 15h48
  4. Intégrer projet dans une application JEE 6
    Par YoNoSe dans le forum Développement Web en Java
    Réponses: 0
    Dernier message: 22/07/2010, 03h11
  5. integrer un module jaas dans une application swing
    Par riadhhwajdii dans le forum Sécurité
    Réponses: 0
    Dernier message: 11/11/2009, 10h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo