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

Struts 1 Java Discussion :

Valider un formulaire en utilisant des éléments de l'entête HTTP


Sujet :

Struts 1 Java

  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2006
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 41
    Points : 13
    Points
    13
    Par défaut Valider un formulaire en utilisant des éléments de l'entête HTTP
    Bonjour,

    j'ai une application utilisants Struts dont le point d'entré est un formulaire (login + mdp). J'essaye de greffer un outil de SSO à cette application qui peut transmettre dans l'entête HTTP, le login & mdp. J'aimerais ne pas avoir à afficher la jsp d'origine et appeller l'action a partir d'une autre application comme si l'utilisateur avais saisie sont login & mot de passe.

    Je ne vois pas trop comment faire.
    merci d'avance pour vos conseils.

    aswat

  2. #2
    Membre chevronné
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Points : 1 787
    Points
    1 787
    Par défaut
    j'ai une application utilisants Struts dont le point d'entré est un formulaire (login + mdp)
    Tout dépend de comment ce login/mdp est "validé" pour le moment dans les autres pages ...

  3. #3
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Déjà, je trouve bizarre que pour du SSO, tu ais besoin du mot de passe, mais bon...

    A mon avis, si tu veux faire du vrai SSO, fais une nouvelle action qui remplace celle que tu as déjà et qui valide le mdp : elle doit uniquement récupérer la valeur de l'en-tête HTTP, initialiser la session et passer à la suite.

    Si tu tiens vraiment à valider un login/mdp, vu qu'il n'est pas possible de forcer des paramètres de requêtes, tu as 2 possibilités :
    1. Modifier ton action existante pour aller récupérer le l/p dans l'entête HTTP et pas en paramètre de requête
    2. Créer une nouvelle action qui récupère le l/p dans l'entête et qui construit une page HTML contenant seulement un formulaire auto-posté par JavaScript sur l'action existante et contenant le l/p dans des champs cachés.

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  4. #4
    Membre à l'essai
    Inscrit en
    Mai 2006
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 41
    Points : 13
    Points
    13
    Par défaut
    En fait je ne peu pas toucher à l'application existante. Je sais que ce n'est pas du vrai SSO, mais mes contraintes sont telles que je ne peu pas toucher à l'application existante. En fait, l'application a besoin du login & mdp pour effectuer des requettes LDAP dans un annuaire...

    Mon formulaire existant est le suivant :

    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
    <form name="logonForm" method="POST" action="/demo/logon.do" target="_parent">
                     <TABLE cellpadding="0" cellspacing="0" border="0" summary="Login" align="center" class="body" width="100%">
                       <TR><TD><BR/></TD></TR>
     
                       <TR><TD align="left">Login&nbsp;:&nbsp;</TD>
                       <TD>
    			 <input type="text" name="login" maxlength="128" size="20" value="">
                       </TD>
                       </TR>
                       <TR><TD><BR/></TD></TR>
                       <TR><TD align="left">Password&nbsp;:&nbsp;</TD>
     
                       <TD>
                       <input type="password" name="password" maxlength="128" size="20" value="">
                       </TD>
                       </TR>
                       <TR><TD><BR/></TD></TR>
                       <TR><TD colspan="2" align="center">
                       <INPUT type="image" src="/demo/images/ok_button.gif" border="0" alt="Ok" title="Log on">
                       </TD>
                        </TR>
                        <TR><TD><BR/><BR/></TD></TR>
                         <TR><TD colspan="2" align="center">Please enter your login and password.</TD></TR>
                </TABLE>
    </form>
    j'aimerais pouvoir remplacer value="" par des attributs que je récupère dans l'entête HTTP. Je ne vois pas trop comment faire ca

  5. #5
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Citation Envoyé par aswat
    j'aimerais pouvoir remplacer value="" par des attributs que je récupère dans l'entête HTTP. Je ne vois pas trop comment faire ca
    Je comprends pas : c'est le formulaire de l'appli existante, donc tu ne peux pas modifier, c'est bien ça ? Ce qu'il faut que tu fasses, c'est écrire une JSP ou un servlet qui fait ce que je décrivais précédemment, i.e. qui récupère l'entête HTTP et qui construise un formulaire HTML auto-posté par JavaScript sur /demo/logon.do et qui n'affiche rien que des champs cachés login et password. Ensuite, tu fais en sorte que le lien de ton SSO pointe sur cette JSP pour mettre en place la mécanique d'autopost du formulaire d'authent. Tu vois ce que je veux dire ?

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  6. #6
    Membre à l'essai
    Inscrit en
    Mai 2006
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 41
    Points : 13
    Points
    13
    Par défaut
    Oui, je vois exactement ce que tu veut dire, cependant, il me faut réaliser ceci en perl car, c'est avec des agent perl que fonctionne mon SSO. Cependant je n'ai aucune idée de comment réaliser ceci. Aurais-tu un lien vers un exemple simple ?

  7. #7
    Membre à l'essai
    Inscrit en
    Mai 2006
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 41
    Points : 13
    Points
    13
    Par défaut
    j'ai trouvé un truc comme ca :
    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
    #!/usr/bin/perl
     
    use LWP::UserAgent;
    $ua = LWP::UserAgent->new;
    $ua->agent("Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.3) Gecko/20061201 Firefox/2.0.0.3 (Ubuntu-feisty)");
     
    use HTTP::Request::Common qw(post);
     
    my $req = (post 'logon.do',
    ["login" => $ENV{HTTP_UID},
    "password" => $ENV{HTTP_PASSWORD}]);
     
    $request = $ua->request($req);
    $content = $request->content;
    print $content;
    exit;
    vous en pensez quoi ?

Discussions similaires

  1. [JAXB] wsimport : Erreur à la validation du WSDL en utilisant des fichiers "episode"
    Par arno15 dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 11/02/2015, 20h03
  2. Utiliser des éléments de formulaires sans formulaire ?
    Par dev14 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 31/01/2015, 17h40
  3. Réponses: 7
    Dernier message: 27/02/2014, 09h29
  4. Réponses: 2
    Dernier message: 04/02/2013, 18h16
  5. Réponses: 0
    Dernier message: 26/01/2010, 10h13

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