3 Stimmen

Abrufen des aktuell angemeldeten Active Directory-Benutzers von einer C#-Webseite (einschließlich IIS)

Wir bauen ein Intranet für einen Kunden auf. Der Kunde möchte nicht, dass sich die Benutzer anmelden, da sie sich bereits bei der Domäne (Active Directory) angemeldet haben.

Aber sie wollen den AD-Benutzernamen jedes Nutzers wissen, damit ihre Identität erfasst werden kann, wenn sie im Blog schreiben.

Bislang dachten wir, dass unsere web.config-Datei sagen sollte:

<identity impersonate="false" />

damit jeder Benutzer die Intranetseite als er selbst und nicht als der in IIS konfigurierte App-Pool-Benutzer aufruft.

Wäre dies der richtige Weg?

Wenn ja, welche IIS-Authentifizierung sollten wir verwenden? HINWEIS: Wir authentifizieren den Benutzer nicht, d. h. wir wollen keine Anmeldeaufforderung, alle Benutzer haben sich bereits bei der Domäne angemeldet, wir wollen nur ihren Benutzernamen sehen.

Ist das überhaupt möglich? Und sind wir auf dem richtigen Weg?

In C# können wir den Benutzernamen wie folgt abrufen:

System.Web.HttpContext.Current.Request.LogonUserIdentity.Name.ToString()

aber wir können einfach keine IIS-Authentifizierungseinstellung finden, die keine Domänen-/Netzwerkanmeldung erfordert.

1voto

Peter Punkte 398

Sie müssen die Windows-Authentifizierung einschalten. Wenn Sie das getan haben, wird das Identitäts-Token an den Server weitergegeben, und Sie können die Authentifizierung damit verwalten. Beachten Sie auch, dass nur Chrome und IE dies vollständig unterstützen, Firefox fragt zumindest nach dem Drücken einer OK-Taste, bevor der Benutzer authentifiziert wird. Zu beachten ist auch, dass die Vertrauensstufen im Browser korrekt eingestellt werden müssen, sonst wird die automatische Authentifizierung nicht durchgeführt.

0voto

Anders Abel Punkte 65873

Sie wissen bereits, wie Sie die LogonUserIdentity erhalten und den IIS korrekt einrichten. Was noch fehlt, ist, den Browser dazu zu bringen, sich automatisch mit dem AD-Konto des Benutzers zu authentifizieren. Um dies zu ermöglichen, müssen Sie den Browser entsprechend konfigurieren, was meines Erachtens nur für Sites in Intranetzonen standardmäßig aktiviert ist.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X