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

JSF Java Discussion :

[JSF 2] Protéger l'accès à un fichier XHTML


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    279
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 279
    Par défaut [JSF 2] Protéger l'accès à un fichier XHTML
    Bonjour,

    Dans mon application web, j'ai pas un espace d'administration de différents objets, j'ai crée un fichier administration.xhtml contenant des liens vers les pages a administrer.

    Aussi, dans l'application y'a pas de notion d'authentification (gestion d'utilisateurs)

    Je cherche un moyen de protéger l'accèe a ce fichier. c'est à dire quand je saisie dans l'url 'chemin_appli/admin/adminitration.xhtml', je doit saisir un user et mot de passe pour y'acceder.

    quels sont les solutions possible ?

    Merci

  2. #2
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Une authentification JAAS avec tes pages à protéger dans un répertoire spécifique.
    Ton web.xml va ressembler à ceci
    Code xml : 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
    23
    24
    25
    26
     
    ...
        <!-- Paramètres propre à l'authentification -->
        <security-constraint>
            <web-resource-collection>
                <web-resource-name>UnNom</web-resource-name>
                <url-pattern>/protected/*</url-pattern>
            </web-resource-collection>
            <auth-constraint>
                <role-name>ADMIN</role-name>
            </auth-constraint>
        </security-constraint>
     
        <login-config>
            <auth-method>FORM</auth-method>
            <realm-name>RealmName</realm-name>
            <form-login-config>
                <form-login-page>/login.xhtml</form-login-page>
                <form-error-page>/login-error.xhtml</form-error-page>
            </form-login-config>
        </login-config>
     
        <security-role>
            <role-name>ADMIN</role-name>
        </security-role>
    ...
    Pour la configuration du "realm", ça va dépendre de ton serveur cible.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    279
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 279
    Par défaut realm dans tomcat 7
    J'ai mis cette portion de code dans le web.xml

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <security-constraint>
    	    <display-name>Accee reservé à l'administrateur</display-name>
    	    <web-resource-collection>
    	        <web-resource-name>admin</web-resource-name>
    	        <url-pattern>/admin/*</url-pattern>
    	    </web-resource-collection>
    	    <auth-constraint>
                <role-name>ADMIN</role-name>
            </auth-constraint>
    </security-constraint>

    L'application tourne sur Tomcat 7. comment ajoutée le realm ?

    Pour info, quand j'accede a l'administration du serveur (en fesant un double click sur eclipse), y'a une case dans 'Server option --> enable security' es ce la bonne ?

  4. #4
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Il faut aussi la partie (au minimum "BASIC")
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <login-config>
            <auth-method>BASIC</auth-method>
    </login-config>
    Pour la configuration du realm sur Tomcat7, regarde la doc ici...
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    279
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 279
    Par défaut Ajout de tomcat-users
    J'ai ajoutée l'option MemoryRealm dans le fichier server.xml de tomcat comme suit :

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    <Realm className="org.apache.catalina.realm.MemoryRealm" />

    J'ai ajouté aussi la security-contraint dans le web.xml comme suit :

    Code xml : 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
    <security-constraint>
    	    <display-name>Accee reservé à l'administrateur</display-name>
    	    <web-resource-collection>
    	        <web-resource-name>admin</web-resource-name>
    	        <url-pattern>/admin/*</url-pattern>
    	    </web-resource-collection>
    	    <auth-constraint>
                <role-name>administration</role-name>
            </auth-constraint>
    	</security-constraint>
     
    	<!-- Define the Login Configuration for this Application -->
    	<login-config>
    		<auth-method>BASIC</auth-method>
    		<realm-name>thetest Application</realm-name>
    	</login-config>

    dans tomcat-users.xml j'ai ajouté cette ligne pour le test :
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    <user name="admin1" password="admin1" roles="administration" />

    Quand je clic sur le lien admin/rechercher.xhtml y'a aucune contrainte qui bloque l'accès

    Je me suis basé de ce tuto :

    http://www.oxxus.net/tutorials/tomcat/security-realms

    et celui la aussi :

    http://tomcat.apache.org/tomcat-7.0-...ml#MemoryRealm

    Que dois-je ajoutée ou changer ?

    Merci

  6. #6
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Là, je ne vois pas, si ton web.xml est celui que tu montres, il devrait au minimum te présenter une popup de login.
    C'est bien ce qui est déployé sur le serveur Tomcat ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    279
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 279
    Par défaut
    Sincerement, je ne suis pas sur que celui qui est changer est bien ce qui est deployé.

    Voici en ci-joint la capture d'ecran de mon workspace eclipse avec fichier server modifié :

    Nom : eclipse-server.PNG
Affichages : 316
Taille : 38,2 Ko

    J'ai changer le web.xml du tomcat et de l'appli.

    Comment savoir si c'est le bon ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [2.x] Protéger l'accès à des fichiers uploadés
    Par dnd888 dans le forum Symfony
    Réponses: 4
    Dernier message: 24/12/2012, 18h03
  2. Protéger l'accès direct à un fichier web
    Par tidus_6_9_2 dans le forum 4D
    Réponses: 6
    Dernier message: 31/05/2012, 14h40
  3. Protéger l'accès à un fichier
    Par DiverSIG dans le forum Apache
    Réponses: 18
    Dernier message: 20/10/2011, 11h02
  4. Réponses: 4
    Dernier message: 04/03/2010, 15h12
  5. Réponses: 2
    Dernier message: 25/02/2007, 13h50

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