capture windows-Benutzernamen in asp.net mvc Anfrage
habe ich eine intranet-app asp.net mvc-Website. gibt es trotzdem zu erfassen, die windows-nt-Anmeldename des Benutzers, ohne dass eine vollständige login-system in die Website. ich möchte nicht, dass permissioning aber ich würde gerne ein paar Protokollierung auf dem server zu verfolgen, Anfragen, etc . .
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie
HttpContext.Current.User.Identity.Name
wenn Sie die Website zu verwenden,Windows-Authentifizierung. Viele Browser übergibt den Benutzernamen auf transparent.Gehen Sie auf das Web.Config-Datei für Ihre Anwendung (sicher sein, es ist das wichtigste, nicht das Web.Config unter " Ansichten), remark
<authentication mode="Forms">
wenn Sie es sehen, dann fügen Sie Zeilen wie diese:Du musst nicht beinhalten die
<authorization>
Abschnitt, aber es ist nützlich, wenn Sie möchten, um Zugriff für bestimmte Benutzer und Gruppen, und leugnen alle anderen. Wenn Sie IE verwenden, werden die Anmeldeinformationen übergeben bekommen automatisch zusammen. Sie können dies testen, indem Sie den Druck der Benutzername aus Ihrer Sicht:Wenn Sie öffnen Sie Ihre Webseite mit Firefox oder einem anderen browser außer dem IE, werden Sie aufgefordert, den Benutzernamen und das Kennwort, da es nicht automatisch vorbei, entlang der Zugangsdaten (obwohl anscheinend kann man Firefox pass entlang der Anmeldeinformationen, wie Dan Diplo erwähnt oben).
Wenn Sie wollen, übergeben Sie diese Anmeldeinformationen zusammen auf einen anderen server, z.B. einen SQL-Server, wird es eher Kopfschmerzen von meiner Erfahrung, denn Sie laufen in eine double-hop Problem. Die einzige Lösung die ich kenne ist das hosten in IIS und SQL Server auf dem gleichen server, oder über einen login für das intranet, so dass Sie den Benutzernamen und das Kennwort weitergeben SQLServer.
Welche Windows version ist das mvc-app am laufen?
Können Sie Folgendes versuchen:
Würden wir tun?
versuchen.
gibt es Domail/User
Vergessen Sie nicht, setzen Sie diese im web.Config
Wenn Sie IIS für die Verwendung der Windows-Authentifizierung und die Website ist in der Intranet-Zone für Ihre Kunden dann die Anmeldungen automatisch passieren, ohne Aufforderungen an alle.
Können Sie versuchen zu Holen, den Namen des Nutzers mit dem folgenden Stück code:
User.Identity
wird automatisch gefüllt, wenn Sie eine Authentifizierung (Beispiel: cookie-basiert, etc.)