![]() |
WebRequest.Authorisation (HTTPApp.TWebRequest)...
Kann man aus dem String WebRequest.Authorisation (HTTPApp.TWebRequest) irgendwie den Usernamen und das Passwort auslesen?
Sicher ist nur, der zurückgelieferte Wert ändert sich bei Änderung von Username bzw.Passwort und hat z.B. folgenden Inhalt: "Basic WWEwdWEcvfFEW12eDSDscCX_" :gruebel: Ich will im Prinzip alle Requests an meine ISAPI-dll an einen externen Server weiterleiten und das Ergebnis am Client ausgeben. Momentan verwende ich einen IdHTTP-Client zum Anfordern der Daten des 2. Servers. So lange keine Authentifizierung nötig ist klappt alles sehr gut... nur eben nicht mit Authentifizierung, da ich dem IdHTTP die entspr. Daten nicht mitgeben kann. Wenn ich dem IdHTTP Username und passwort fest zuweise klappt alles, nur ist das eben "etas" zu unsicher ;) |
Re: WebRequest.Authorisation (HTTPApp.TWebRequest)...
Gleiches Problem hat mich auch beschäftigt...
Also mal kurz geschaut, so baut den String Indy zusammen:
Delphi-Quellcode:
Das heißt, man kann es auch dekodieren
function TIdBasicAuthentication.Authentication: String;
begin result := 'Basic ' {do not localize} + TIdEncoderMIME.EncodeString(Username + ':' + Password); {do not localize} end;
Delphi-Quellcode:
Hintergrund:{...} Uses IdCoderMIME; {...} Procedure TwbmHelloWorld.wbmHelloWorldwbaTestAccAction( Sender: TObject; Request: TWebRequest; Response: TWebResponse; Var Handled: Boolean ); Var sAuth: String; Const cAuthBasic = 'Basic '; Begin sAuth := ''; If Request.Authorization <> '' Then Begin If SameText( cAuthBasic, Copy( Request.Authorization, 1, Length( cAuthBasic ) ) ) Then Begin If Length( Request.Authorization ) > Length( cAuthBasic ) Then Begin sAuth :=TIdDecoderMIME.DecodeString( Copy( Request.Authorization, Length( cAuthBasic ) + 1, Length( Request.Authorization ) ) ); End; End; End; {...} End; Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:14 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz