Bekommen die angemeldeten Benutzernamen in ASP.NET MVC3-intranet-Anwendung

Arbeite ich an einem MVC-3 intranet-Anwendung ( windows-Authentifizierung ). Der Antrag muss die Anzeige der Profil-Seite des Nutzers, sobald sich ein Benutzer anmeldet. Um das zu tun, dass der Benutzername des angemeldeten Benutzers übergeben werden muss als parameter der route in die folgende route in der Global.asax.cs.

routes.MapRoute(
    "Initial",
    "{controller}/{action}/{emailAlias}", //URL with parameters
    new { controller = "Home", action = "Home", userId = **<USERNAME>**}
);

Hier, für den ich verwendet habe, einige alternativen.

  1. Beim ersten habe ich Environment.Username. Was funktioniert gut in der Entwicklung. Aber nicht nach der Veröffentlichung. Denn dann Environment.Username ergibt sich die Namen der Anwendungen-pool, die die app ausgeführt wird. Wie beschrieben hier.
  2. Controller.User.Identity.Name verwendet, um den gewünschten Benutzernamen in der Controller funktioniert gut in pre-und post-publishing. Aber es kann nicht verwendet werden, die im Kontext des Globalen.asax.cs.
  3. System.Web.HttpContext.Current.User.Identity.Name null-Referenz.
  4. System.Security.Principal.WindowsIdentity.GetCurrent().Name funktioniert irgendwie dasselbe wie Environment.Username

Ich bin sicher, es ist einfach, um herauszufinden, dass ich bin ein noob. Vielleicht habe ich etwas verpasst, offensichtlich. Wenn ja, bitte diesen Punkt oder bitte sagen Sie mir eine einfache Lösung vielen Dank im Voraus.

Also, wenn ich das ändern Benutzer-id mein Kollege Benutzername seinem Profil auftauchen?

InformationsquelleAutor phabtar | 2011-07-22

Schreibe einen Kommentar