Wenn man manchmal auf so Login-Zeugs klickt, dann kommt man nicht zu ner schnöden HTML-Seite mit Formular, dessen Daten dann von nem CGI verarbeitet werden, sondern es popt ein Systemfenster auf, mit „Login von sounso…bitte Benutzername und Passwort eintragen…“ und zwei Eingabefeldern.
Also ich mein jetzt wirklich nicht einfach ein weiteres Browserfenster vielleicht sogar ohne Symbol und Statusleiste in dem dann nen Formular eingebettet ist, sondern das sind richtige Systemfenster…
gar nicht. Du kannst das Browserverhalten nicht ändern, und dieses besagt, daß er nur die Logins weiterverwendet, die über ihn eingegeben wurden.
Programmiere also entweder Deinen eigenen Login-Mechanismus inkl. der Weiterübertragung der Logins, oder aber Apaches mod_auth mit dem bekannten Login-Fenster.
Das geht über den HTTP-Header, ich weiss jetzt leider nicht genau wie es geht, aber ich glaube du musst z.B. die Zeile
WWW-Authenticate: Basic realm=„Login“
in den HTTP-Header packen, also noch vor „Content-type: text/html\n\n“ oder sowas.
Dann sollte beim User was aufpoppen. Den Username hast du in deinem Script dann in der Umgebungsvariable REMOTE_USER wenn mich nicht alles täuscht, wie du das Passwort kriegst weiss ich leider gerade nicht.
Das geht über den HTTP-Header, ich weiss jetzt leider nicht
genau wie es geht, aber ich glaube du musst z.B. die Zeile
WWW-Authenticate: Basic realm=„Login“
in den HTTP-Header packen, also noch vor „Content-type:
text/html\n\n“ oder sowas.
Dann sollte beim User was aufpoppen. Den Username hast du in
deinem Script dann in der Umgebungsvariable REMOTE_USER wenn
mich nicht alles täuscht, wie du das Passwort kriegst weiss
ich leider gerade nicht.
Hey, cool erstmal vielen Dank für den Hinweis wär ja schön wenn das doch irgendwie so einfach zu lösen wär…
Hab jetzt grad mal
print „WWW-Authenticate: Basic realm=„Login“\n“;
print „Content-Type: text/html\n\n“;
ausprobiert, geht aber nicht. Er scheint die erste Zeile zu ignorieren…
Ich glaube du musst auch noch nen 401er Status ausprinten. Hier ein Header, den ich einer von mir mit .htaccess passwortgeschützten Seite entnommen habe.
Also ich hab damit jetzt nochmal n’ bißchen rumprobiert, bin aber glaub ich dazu noch nicht Profi genug (bzw. Anfänger zuviel)…
Ich hab erstmal mit dem CGI.pm - Befehl header() folgendes versucht: print $query->header(-status=>„401 Authorization Required“, -header=>„WWW-Authenticate: Basic realm=„Login““);
da kam dann folgendes bei raus: Status: 401 Authorization Required
Header: WWW-Authenticate: Basic realm=„Login“
Content-Typ: text/html
(das war die Debug Ausgabe, im Netz hatt dieser Header keinerlei Auswirkungen)
Da mir das dann n’ bißchen komisch vorkam, dass der header() da so Zeugs wie „Status:“ noch davorklatscht hab ichs auch direkt probiert: