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

Servlets/JSP Java Discussion :

[Débutant J2EE] Restreindre l'accès de certaines pages


Sujet :

Servlets/JSP Java

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    178
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 178
    Points : 93
    Points
    93
    Par défaut [Débutant J2EE] Restreindre l'accès de certaines pages
    Bonjour à tous,

    je développe actuellement une appli web java sous Glassfish v2 (et Netbeans 6.1).
    Certaines pages de l'application ne peuvent être visualisées que par des utilisateurs détenteurs d'un compte ET connectés.

    Programmant habituellement en PHP, j'ai d'abord utilisé la session pour stocker les données du client connecté, et à chaque requête vers une page protégée, je vérifiais simplement que les données en session n'étaient pas vides.

    Seulement, il est possible aussi de configurer cette authentification en précisant certains paramètres dans le fichier web.xml et en mettant les pages à protéger dans le répertoire WEB-INF, d'après ce que j'ai compris.

    Voici donc un extrait du web.xml en question :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <login-config>
            <auth-method>FORM</auth-method>
            <realm-name/>
            <form-login-config>
                <form-login-page>/login.jsp</form-login-page>
                <form-error-page>/error.jsp</form-error-page>
            </form-login-config>
    </login-config>
    Voici un extrait de login.jsp :
    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
    <h1>Login</h1>
              <form action="j_security_check" method="post">
                <div class="input">
                    <label for="j_username">
                        <c:if test="${login_errors==true}">
                           <span class='error'>* </span>                        
                        </c:if>Username: 
                    </label>
                    <input type="text" id="j_username" name="j_username" />
                </div><div class="clearer">&nbsp;</div>
                <div class="input">
                    <label for="j_password">
                        <c:if test="${login_errors==true}">
                            <span class='error'>* </span>
                        </c:if> Password: 
                    </label>
                    <input type="password" id="j_password" name="j_password" />
                </div><div class="clearer">&nbsp;</div>
                <div class="inputSubmit">
                    <input type="submit" value="Submit" />
                </div>
              </form>
    J'avais lu dans un cours sur JAAS qu'il fallait que l'attribut action du formulaire soit forcément j_security_check, et les paramètres j_username et j_password.
    Est-ce correct ?
    Ce qui m'échappe, c'est qu'aucune Servlet n'intervient là-dedans du coup...
    Actuellement, les données sont stockées dans le ServletContext, mais vont bientôt être stockées en BD...
    Comment le serveur peut deviner où sont stockées les données ? Il faut nécessairement que je précise à un endroit ou à un autre où les récupérer, non ?

    Evidemment, l'authentification ne fonctionne pas, et je suis vraiment dans le flou. Si quelqu'un pouvait éclairer ma lanterne, je lui en serais éternellement reconnaissant

    Merci d'avance,
    Rolf IV

  2. #2
    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
    Là tu as configuré ton application, maintenant, il faut configurer la partie propre à ton serveur d'application.
    Il faut donc lire la doc de ton serveur pour savoir comment procéder.
    Désolé, mais je ne l'ai pas fait avec Glassfish donc je ne pourrai pas t'aider.

  3. #3
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    178
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 178
    Points : 93
    Points
    93
    Par défaut
    merci de ta reponse,

    google est mon ami (a debattre :p), mais je n'ai pas encore trouve de documentation specifique a JAAS ET Glassfish...
    si quelqu'un a des ressources la-dessus, je suis preneur...

    merci d'avance,
    rolf

  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
    You can configure a realm and JAAS module by modifying the config/domain.xml file (adding your realm configuration information there) and config/login.conf file (adding your login module there) respectively.
    Voilà ce que j'ai trouvé. Il y a peut-être des exemples dans ces fichiers.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    47
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 47
    Points : 45
    Points
    45
    Par défaut
    j'ai le meme probleme avec mon application utilisant BIRT avec Tomcat.
    J'ai configuré mon web.xml en donnant le lien vers une page login.jsp et une page error.jsp, puis j'ai créé ces pages en utilisant les conventions de nommage j_username, j_password et j_security_check.
    Mais a partir de la j'ai deux soucis :

    - comment faire pour que le login s'affiche a la place de chaque page si l'utilisateur ne s'est pas authentifié ?
    - oú stocker les couples login/pwd pour procéder a la verification ?

    j'avoue etre perdue aussi.
    Si quelqu'un peut eclairer ma lanterne ? merci beaucoup.

  6. #6
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    Salut,

    Pour Tomcat et la sécurisation des accés voici un lien pour apprendre comment ça marche avec les config xml.

    http://www-igm.univ-mlv.fr/~dr/XPOSE...cat.php?rub=20

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    47
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 47
    Points : 45
    Points
    45
    Par défaut
    merci !
    je file y jeter un coup d'oeil.

    edit : ca marche exactement comme je veux, encore merci !

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

Discussions similaires

  1. Empêcher l'accès direct à certaines pages
    Par ZouBi dans le forum JSF
    Réponses: 3
    Dernier message: 04/12/2012, 09h04
  2. Interdire l'accès de certaines pages
    Par dombili dans le forum Langage
    Réponses: 2
    Dernier message: 30/03/2012, 21h05
  3. Restreindre l'accès direct à certaines pages
    Par Roger_Rabbit dans le forum JSF
    Réponses: 4
    Dernier message: 09/01/2012, 13h53
  4. Réponses: 5
    Dernier message: 09/01/2006, 11h46
  5. Réponses: 10
    Dernier message: 23/11/2004, 18h14

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