Wie bekomme ich den Wert aus Anfrage.ServerVariables("LOGON_USER"), wenn die Anwendung läuft im IIS?
Ich bin nicht mit jedem eingebauten Authentifizierungsmechanismus, der nur den Bau einer einfachen intranet-Seite, die Anmeldung erforderlich.
ABER ich wurde gebeten, zum abrufen der aktuellen windows-Anmeldenamen des Benutzers, und authentifizieren Sie sich, ihn mit diesen Informationen.
Beim Lesen der Anfrage.ServerVariables("LOGON_USER") Informationen aus meiner Kiste, läuft alles einwandfrei. Aber dieser Wert ist immer leer, wenn die Anwendung ausgeführt wird, mit der IIS auf meinem server.
Irgendwelche Ideen?
Ich bin mir nicht sicher, Sie können, ohne dass
<authentication mode="Windows"/>
. Wenn Sie nicht wollen, um zu sehen, beliebiger - login-Mechanismus, aber immer noch in der Lage sein authentifizieren Sie auf login? Das wäre ein Sicherheits-Verschluss, wenn das überhaupt noch möglich ist.InformationsquelleAutor Robson Rocha | 2011-02-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Um heraus zu finden, wer der Benutzer ist, müssen Sie sich authentifizieren. Dies ist die definition der Authentifizierung.
Ändern Sie Ihre web.config enthalten:
innerhalb des Systems.web-element. Dadurch wird die Windows-Authentifizierung verwenden, dh. der Benutzer authentifiziert sich mittels Ihrer internen Windows-Domäne-Controller ohne eine Benutzername + Kennwort, mit Windows-basierte Sicherheit. Dies ist ideal für Intranet-basierte Web-Anwendungen. So können Sie in der Lage zu tun, Weg mit Ihrem Benutzernamen + Passwort anmelden, wenn das ist, was Sie gerade tun.
Finden: Verwendung von Windows-Authentifizierung in ASP.NET
und: Erklärt: der Windows-Authentifizierung in ASP.NET für mehr Tiefe
Wenn Ihre Absicht ist, um den Zugriff auf Netzwerk-Ressourcen automatisch auf Basis der Benutzer Windows-Konto, können Sie wollen, schauen Sie Identitätswechsel verwenden, Bedeutung ASP.NET wirkt, wie wenn es ausgeführt wird, im Kontext des Benutzers Windows-Konto, und alle Benutzer-Berechtigungen im Zusammenhang mit diesem Konto sind effektiv an Ihr ASP.NET -Anwendung.
BTW, ich glaube Anfrage.ServerVariables("LOGON_USER") ist die alte ASP-Classic Weg. Verwenden HttpContext.Aktuelle.Benutzer.Identität.UserName statt.
InformationsquelleAutor saille