
Ich habe ein internes System mit einem Anmeldeformular mit Benutzername und Passwort.
Vor Kurzem musste ich jedoch weitere Informationen über den Benutzer erhalten, der versucht, sich anzumelden (beispielsweise im Falle eines fehlgeschlagenen Anmeldeversuchs).
Da es sich um ein internes System handelt, dachte ich, ich könnte die Windows-Authentifizierung verwenden, um den AD-Benutzer abzurufen, der versucht, sich anzumelden. Aber $_SERVER['AUTH_USER']
es wurde eine leere Zeichenfolge zurückgegeben, obwohl die Windows-Authentifizierung aktiviert war. Der Benutzer wurde erst angezeigt, als ich die anonyme Authentifizierung deaktivierte (es scheint also so, als ob die Aktivierung beider nicht die Windows-Anmeldeinformationen abruft).
Ich möchte weiterhin, dass Benutzer im Anmeldeformular Anmeldeinformationen eingeben, möchte aber auch den tatsächlichen Windows (AD)-Benutzer kennen, der aktuell versucht, sich anzumelden.
Das vollständige Deaktivieren der anonymen Authentifizierung scheint zu funktionieren und ich brauche sie nicht, aber ich bin jetzt etwas verwirrt, obwohl ich glaube, es verstanden zu haben: Da alle Benutzer bereits von einem Windows-Computer aus arbeiten, werden ihre Anmeldeinformationen weitergegeben und deshalb funktioniert die Windows-Authentifizierung. Aber jetzt frage ich mich, ob das vollständige Deaktivieren der anonymen Authentifizierung in bestimmten Fällen zu Fehlern führen kann und ich sie nicht vollständig deaktivieren sollte? Oder gibt es vielleicht eine Möglichkeit, sowohl die anonyme Authentifizierung als auch die Windows-Authentifizierung zu aktivieren und trotzdem den $_SERVER['AUTH_USER']
Wert (und keine leere Zeichenfolge) zu erhalten?
Aber wie überprüft IIS den Windows-Benutzer, der sich mit der Website verbindet? Denn wenn ich die Website nur mit meinem Benutzer ansehe, gebe ich kein Passwort oder keine Anmeldeinformationen ein.
Ich finde es einfach seltsam, dass ich die Windows-Authentifizierung verwende, aber das Anmeldeformular beibehalte, was dem Zweck der Windows-Authentifizierung zu widersprechen scheint. Oder ist das nicht richtig und ich habe jetzt im Grunde zwei Authentifizierungsebenen? Ich weiß einfach nicht, wie die Windows-Authentifizierung funktioniert, wenn ich nichts im Code habe, das das handhabt – ich meine, woher „weiß“ sie, dass der Benutzer die Website aufrufen darf?