Estoy trabajando en una aplicación de intranet MVC 3 (autenticación de Windows). La aplicación debe mostrar la página de perfil del usuario una vez que el usuario inicie sesión. Para hacerlo, el nombre de usuario del usuario conectado debe pasarse como un parámetro de ruta en la siguiente ruta en Global.asax.cs.Obtener el nombre de usuario registrado en la aplicación de intranet ASP.NET MVC3
routes.MapRoute(
"Initial",
"{controller}/{action}/{emailAlias}", // URL with parameters
new { controller = "Home", action = "Home", userId = **<USERNAME>**}
);
Aquí, para el he usado algunas alternativas.
Al principio usé
Environment.Username
. Lo cual funciona bien en el desarrollo. Pero no después de la publicación. Porque entoncesEnvironment.Username
produce el nombre del grupo de aplicaciones en el que se ejecuta la aplicación. Como se describe here.Controller.User.Identity.Name
se utiliza para obtener el nombre de usuario deseado en los controladores, funciona bien en la publicación previa y posterior. Pero no se puede usar en el contexto de Global.asax.cs.System.Web.HttpContext.Current.User.Identity.Name
rendimientos de referencia nulo.System.Security.Principal.WindowsIdentity.GetCurrent().Name
obras especie de igualEnvironment.Username
Estoy seguro de que es fácil de entender que soy un novato por ahora. Tal vez me he perdido algo obvio. Si es así, indíquelo o dígame si hay una solución simple, gracias de antemano.
Así que cuando cambie userId al nombre de usuario de mi compañero de trabajo ¿aparecerá su perfil? – jao