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 :

Protection page JSF si on n'est pas identifié


Sujet :

JSF Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 33
    Points : 24
    Points
    24
    Par défaut Protection page JSF si on n'est pas identifié
    Bonjour à tous,
    je voudrais protéger mes pages si je ne suis pas authentifié.
    J'ai codé une première solution.
    Je m'identifie sur ma page de long et je met dans le contexte de session mon objet login - avec le login.
    Ensuite, sur les différentes pages de mon application je teste cet objet. si présent->j'affiche la page sinon redirection vers la page de login en expliquent que je n'ai les droits pour me logguer.

    Je voudrais savoir si cette solution est pertinente.
    S'il existe d'autre solution ou des technologies déjà existante style interceptor de Struts.

    Merci de vos réponses et aides

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

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    La solution "standard" est une authentification JAAS, le web.xml contient les informations relatives à la protection
    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
    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>
    ...
    Il y a une discussion ici sur le sujet...
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 33
    Points : 24
    Points
    24
    Par défaut
    Merci pour ta réponse..
    J'ai un petit soucis.
    Mon projet est développé en JSF et xhtml. J'testé le petit exemple que tu avais mis dans la discussion ça fonctionne correctement
    ça marche nickel si les fichiers protégés sont à la racine du projet mais pas quand il est dans un répertoire.

    voici mon web.xml, si tu as une idée.

    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    	xmlns="http://java.sun.com/xml/ns/javaee"
    	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
    	id="WebApp_ID" version="3.0">
    	<display-name>GestionTournoi</display-name>
    	<welcome-file-list>
    		<welcome-file>Connexion.xhtml</welcome-file>
    	</welcome-file-list>
     
    	<servlet>
    		<servlet-name>Faces Servlet</servlet-name>
    		<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    		<load-on-startup>1</load-on-startup>
    	</servlet>
    	<servlet-mapping>
    		<servlet-name>Faces Servlet</servlet-name>
    		<url-pattern>/faces/*</url-pattern>
    	</servlet-mapping>
     
    	<security-constraint>
    		<web-resource-collection>
    			<web-resource-name>UnNom</web-resource-name>
    			<url-pattern>/admin/*</url-pattern>
    		</web-resource-collection>
    		<auth-constraint>
    			<role-name>ADMIN</role-name>
    		</auth-constraint>
    	</security-constraint>
     
    	<login-config>
    		<auth-method>BASIC</auth-method>
    	</login-config>
     
     
    </web-app>

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

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    A vrai dire, ce sont toutes les pages sous le répertoire /admin qui sont protégées...
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 33
    Points : 24
    Points
    24
    Par défaut
    mais j'arrive a ouvrir les pages sous /admin/ Bizarre?

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

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    Il ne t'a jamais demandé de login ?
    (parce qu'avec le type "BASIC", la popup n'apparaît qu'une seule fois, ensuite, il faut fermer le navigateur pour la retrouver)
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 33
    Points : 24
    Points
    24
    Par défaut
    autant pour moi..
    comme je développe en JSF url-pattern complete dans mon cas est /faces//admin/*

    C simple.
    Merci de m'avoir montrer Jaas..

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

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    Mais de rien, le standard a du bon

    Sinon, personnellement, j'utilise plutôt l'url-pattern "naturelle" pour JSF2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
        <servlet-mapping>
            <servlet-name>Faces Servlet</servlet-name>
            <url-pattern>*.xhtml</url-pattern>
        </servlet-mapping>
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 33
    Points : 24
    Points
    24
    Par défaut
    une dernière question ou plusieurs..

    Faut il beaucoup codé avec Jaas? ou c'est seulement de la configuration?
    Je dois forcement rajouter une table role pour l'utiliser?

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

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    C'est de la configuration, mais d'un serveur à l'autre la façon de faire sera différente.

    Pour la question "faut-il une table de rôle"... euh... bonne question... je ne sais pas si elle est obligatoire, j'aurais tendance à penser que non mais personnellement, j'ai toujours utilisé les rôles.

    Quel est ton serveur d'application ? JBoss ? Glassfish ? autre ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 11/01/2015, 20h46
  2. Page JSF qui ne s'affiche pas
    Par Reda1989 dans le forum JSF
    Réponses: 2
    Dernier message: 06/02/2014, 14h21
  3. Réponses: 3
    Dernier message: 23/06/2011, 16h47
  4. Réponses: 1
    Dernier message: 18/03/2009, 12h01
  5. Réponses: 3
    Dernier message: 10/12/2008, 12h38

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