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

Web & réseau Delphi Discussion :

TIdHTTPServer Indy Simple Authentification


Sujet :

Web & réseau Delphi

  1. #1
    Membre averti
    Avatar de XeGregory
    Homme Profil pro
    Passionné par la programmation
    Inscrit en
    Janvier 2017
    Messages
    324
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Passionné par la programmation
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2017
    Messages : 324
    Points : 305
    Points
    305
    Par défaut TIdHTTPServer Indy Simple Authentification
    Bonjour,

    Je suis à la recherche d'une méthode pour récupérer les paramètres d'identification dans la procédure OnGetCommand du IdHttpServer de cette manière :

    Url : http://gregory:admin@192.168.1.36/

    Pourriez-vous m'éclairer sur le format de l'URL? je ne parviens pas à récupérer les paramètres d'identification.

    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
    { CommandGet }
    procedure TFServerLib.CommandGet(AContext: TIdContext; ARequestInfo: TIdHTTPRequestInfo;
      AResponseInfo: TIdHTTPResponseInfo);
    var
      AuthPassword, AuthUsername: String;
    begin
      ARequestInfo.BasicAuthentication := True;
     
      if not ARequestInfo.AuthExists then
      begin
        AResponseInfo.ResponseNo := 401;
        AResponseInfo.ResponseText := 'Authentication required !';
        AResponseInfo.WriteContent;
      end
      else
      begin
        AuthPassword := ARequestInfo.AuthPassword;
        AuthUsername := ARequestInfo.AuthUsername;
     
        if (AuthUsername.Equals('gregory')) and (AuthPassword.Equals('admin')) then
        begin
          AResponseInfo.ResponseNo := 200;
          AResponseInfo.ResponseText := 'Password : ' + AuthPassword + ' , User : ' + AuthUsername;
          AResponseInfo.WriteContent;
        end
        else
        begin
          AResponseInfo.ResponseNo := 401;
          AResponseInfo.ResponseText := 'Err Auth : Password or Username !';
          AResponseInfo.WriteContent;
        end;
      end;
    end;
    Nom : Capture.PNG
Affichages : 83
Taille : 27,1 Ko


    Merci

  2. #2
    Membre averti
    Avatar de XeGregory
    Homme Profil pro
    Passionné par la programmation
    Inscrit en
    Janvier 2017
    Messages
    324
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Passionné par la programmation
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2017
    Messages : 324
    Points : 305
    Points
    305
    Par défaut
    Je crois avoir trouvé la solution au problème

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    AResponseInfo.CustomHeaders.Add('WWW-Authenticate: NTLM');
    Exploration des entêtes HTTP WWW-Authenticate et Authorization

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

Discussions similaires

  1. Réponses: 10
    Dernier message: 28/04/2017, 17h33
  2. Simple authentification ?
    Par ouldfella dans le forum Laravel
    Réponses: 2
    Dernier message: 26/05/2016, 21h37
  3. [Security] Simple authentification avec spring security
    Par rachida90 dans le forum Spring
    Réponses: 1
    Dernier message: 21/01/2014, 11h13
  4. Simple authentification avec ROR
    Par icl1c dans le forum Ruby on Rails
    Réponses: 2
    Dernier message: 28/12/2010, 10h39

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