Ich möchte eine Website in ASP classic entwickeln, die HTTP-Authentifizierung für eine Datenbank oder eine Kennwortliste verwendet, die unter der Kontrolle des Skripts steht. Im Idealfall sollte die Lösung keine Komponenten oder IIS-Einstellungen enthalten, da das Skript in einer gehosteten Umgebung ausgeführt werden sollte.
Irgendwelche Hinweise / Code sehr geschätzt.
Es ist möglich, die HTTP-Basisauthentifizierung in reinem klassischen ASP-VBScript durchzuführen.
Sie werden etwas brauchen, um Base 64 zu entschlüsseln. Hier ist eine reine VBScript-Implementierung . Sie müssen auch sicherstellen, dass Sie in Ihrer IIS-Konfiguration die "Standardauthentifizierung" und die "Integrierte Windows-Authentifizierung" deaktivieren, da diese das zurückwerfen, was Sie im Header HTTP_AUTHORIZATION zurückbekommen.
Hier ist eine Beispielimplementierung, die nur den Benutzernamen und das Passwort zurückgibt.
%Vor%Wenn Sie den Benutzernamen und das Passwort an etwas Sinnvolles anhängen, bleibt dem Leser eine Übung.
Per Definition wird die HTTP-Authentifizierung vom Webserver angefordert. Ich bezweifle jedoch, dass Sie eine Lösung finden, die nicht dazu führt, dass keine IIS-Einstellungen angewendet werden.
Der Webbrowser stellt eine Verbindung zu Ihrer Website her, und wenn Ihr Server nicht mit einem HTTP-Antwortcode HTTP / 1.1 401 Nicht autorisiert antwortet, werden die Anmeldeinformationen nicht durchsucht.
Sie könnten versuchen, einen Antwortcode von 401 zu erzwingen und den Header
festzulegen %Vor%Dann fordert der Browser den Benutzer zur Eingabe des Benutzernamens und des Passworts auf, wird jedoch über den Klartext an den Browser gesendet (base64-codiert), wie folgt:
%Vor%Was von Base64 in:
übersetzt wird %Vor%Ich weiß nicht, ob Sie Zugriff auf den Authorization-Header von Ihrer ASP-Seite haben oder ob der Web-Server ausflippen wird, weil jemand versucht, Anmeldeinformationen an ihn zu übergeben, wenn er es nicht erwartet, aber könnte einen Versuch wert ...
Hi, versuchen Sie, eine Liste von Benutzern aus einer Datenbank zu erhalten oder verwenden Sie netzwerkbasierte Berechtigungen für den HTTP-Server?
Wenn Sie eine Datenbank verwenden, verwenden Sie ODBC und DSN
%Vor%Wenn Sie ein Passwort-Dialogfeld (vom Server) wollen, müssen Sie die IIS-Einstellungen für eine gute Anleitung zu diesem ändern ..
Tags und Links iis authentication http asp-classic http-authentication