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

Java EE Discussion :

Accéder directement aux pages sécurisées


Sujet :

Java EE

  1. #1
    Membre à l'essai
    Inscrit en
    Août 2007
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 29
    Points : 20
    Points
    20
    Par défaut Accéder directement aux pages sécurisées
    Bonjour à tous,

    Je travaille actuellement sur une application web dont certaines pages sont sécurisées :
    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>
            <display-name>Protected Resources</display-name>
            <web-resource-collection>
                <web-resource-name>protectedResource</web-resource-name>
                <url-pattern>/private/*</url-pattern>
                <http-method>GET</http-method>
                <http-method>POST</http-method>
            </web-resource-collection>
            <auth-constraint>
                <role-name>admin</role-name>
            </auth-constraint>
        </security-constraint>
     
     
        <login-config>
            <auth-method>FORM</auth-method>
            <form-login-config>
                <form-login-page>/form.jsp</form-login-page>
                <form-error-page>/form.jsp</form-error-page>
            </form-login-config>
        </login-config>
    Je cherche un moyen standard (fonctionnant sur tous les serveurs d'application) pour me donner les droits d'accès aux pages protégées, sans passer par le formulaire de connexion envoyé par le serveur.

    Pour être bien clair, voici un exemple concret de ce que je voudrais faire:
    J'ai un système de sécurité qui se place au dessus de celui de Java EE. Je met en place un filtre agissant sur les pages non protégées qui vérifie l'identité de l'utilisateur. Si c'est un administrateur, je lui donne automatiquement les droits Java EE. De cette façon, lorsqu'il tentera d'accéder à une page protogée, elle s'affichera directement, sans que le "form.jsp" n'apparaisse.

    Seulement voila, je n'arrive pas à faire ce que je veux. J'ai déjà essayé de manipuler les LoginModules de JAAS ainsi que les HttpServletRequestWrapper, mais rien n'y fait.

    Du coup, je voudrais savoir s'il est possible de faire ce que je voudrais. Et, si oui, comment.

    Merci d'avance

  2. #2
    Membre régulier
    Inscrit en
    Mai 2006
    Messages
    210
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 210
    Points : 103
    Points
    103
    Par défaut
    je n'ai pas bien compris, mais tu peux recuperer le RequestContext et faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    getRequestContext().put(BindingProvider.USERNAME_PROPERTY, "login");
                getRequestContext().put(BindingProvider.PASSWORD_PROPERTY, "pwd");

  3. #3
    Membre à l'essai
    Inscrit en
    Août 2007
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 29
    Points : 20
    Points
    20
    Par défaut
    Bonjour,

    Je vais essayer d'être plus clair :
    En fait, je voudrais pouvoir me donner les droits d'accès aux pages sécurisées de mon application, et ce sans que le serveur m'affiche le formulaire du connexion spécifié dans <form-login-page>.

    Mon problème pourrait s'apparenter à ceci :
    Supposons qu'un compte administrateur (ex : login = toto, password = admin) existe dans mon application. Ma sécurité Java EE est appliquée sur les pages /private/*.

    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>
            <display-name>Protected Resources</display-name>
            <web-resource-collection>
                <web-resource-name>protectedResource</web-resource-name>
                <url-pattern>/private/*</url-pattern>
                <http-method>GET</http-method>
                <http-method>POST</http-method>
            </web-resource-collection>
            <auth-constraint>
                <role-name>admin</role-name>
            </auth-constraint>
        </security-constraint>
     
     
        <login-config>
            <auth-method>FORM</auth-method>
            <form-login-config>
                <form-login-page>/form.jsp</form-login-page>
                <form-error-page>/form.jsp</form-error-page>
            </form-login-config>
        </login-config>
    Si l'utilisateur essaye d'accéder à la page /private/index.html, le serveur a besoin que l'utilisateur soit authentifié, et il renvoie le fomulaire form.jsp

    Donc maintenant, je voudrais connecter automatiquement l'utilisateur sans qu'il n'ai à remplir un formulaire. Par exemple, j'aimerais mettre en place un filtre qui ferait réaliserait automatiquement une authentification en tant que "toto" (avec le mot de passe que je connais, qui est "admin").
    Ainsi dès que j'irai sur une page sécurisée, j'y aurait directement accès vu que le filtre m'a déjà authentifié en tant qu'administrateur. Il ne me renverra pas la age "form.jsp", et si j'utilise la methode getRemoteUser() dans une servlet, elle me renverra "toto" et un isUserInRole("admin") me renverra "true".

    J'aimerais donc savoir si ceci est possible.


    Sinon Mickael, comment puis-je récupérer getRequestContext() ? J'ai l'impression que c'est possible uniquement pour les services Web ? Je travaille uniquement avec des servlets et des JSP, est-ce faisable ?

Discussions similaires

  1. Probleme d'accès direct aux page jsf
    Par liquideshark dans le forum JSF
    Réponses: 5
    Dernier message: 23/10/2010, 18h38
  2. Interdir l'accès direct aux pages jsp
    Par S_ami dans le forum Servlets/JSP
    Réponses: 13
    Dernier message: 28/08/2010, 06h57
  3. Comment proteger contre l'acces direct aux pages?
    Par tetepro dans le forum Langage
    Réponses: 5
    Dernier message: 16/04/2008, 19h44
  4. [AJAX] Interdire accès direct aux pages PHP
    Par Nasky dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 31/07/2007, 17h28
  5. Enlever accès direct aux pages avec struts
    Par Verboz dans le forum Struts 1
    Réponses: 7
    Dernier message: 09/05/2007, 15h29

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