En MVC2 he utilizado Page.User.Identity.Name
utilizando el <%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %>
Page.User.Identity.Name en MVC3
¿Cómo puedo utilizar el mismo en MVC3?
En MVC2 he utilizado Page.User.Identity.Name
utilizando el <%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %>
Page.User.Identity.Name en MVC3
¿Cómo puedo utilizar el mismo en MVC3?
Siempre se puede hacer algo como:
@Html.ViewContext.HttpContext.User.Identity.Name
pero no lo hacen.
Normalmente, una vista no debe intentar obtener dicha información. Está ahí para mostrar cualquier información que pase el controlador. Debe estar fuertemente tipado a una clase de modelo que se pasa por una acción de controlador.
Así que en la acción del controlador haciendo este punto de vista:
[Authorize]
public ActionResult Index()
{
var model = new MyViewModel
{
Username = User.Identity.Name
}
return View(model);
}
Ahora dentro de la vista no dude en utilizar esta información:
@Model.Username
MVC 2
<%: this.Page.User.Identity.Name %>
MVC 3
@this.User.Identity.Name
Tuve el mismo problema. Usé this tutorial para resolver este problema.
En resumen, en su opinión, poner este código:
@Context.User.Identity.Name
Sólo asegúrese de que el proyecto está configurado para autenticar con ventanas.
No he entendido, estoy usando FormsAuthentication.RedirectFromLoginPage (user.Name, model.RememberMe); y en otra vista estoy tratando de cargar el nombre de usuario usando en _LogOnPartial.cshtml usando @if (Request.IsAuthenticated) { Bienvenido @ Page.User.Identity.Name! [@ Html.ActionLink ("Cerrar sesión", "desconexión", "Cuenta")] } else { @: [@ Html.ActionLink ("Log On", "inicio de sesión", "Cuenta")] } –
learning
¿Cuál es el uso de _LogOnPartial.cshtml en ese caso? y simplemente no puedo hacer eso para todos los puntos de vista? – learning
@ user281180, no debe usar 'FormsAuthentication.RedirectFromLoginPage' en una aplicación ASP.NET MVC. La forma correcta de realizar una redirección es 'devolver RedirectToAction (" LoggedIn "," SomeController ")' después de haber configurado la cookie de autenticación en la respuesta (usando [FormsAuthentication.SetAuthCookie] (http://msdn.microsoft.com/en) -us/library/system.web.security.formsauthentication.setauthcookie.aspx)). Luego, dentro de la acción LoggedIn, simplemente busque el nombre de usuario y páselo al modelo de vista. Así que use '@ Model.Username' en lugar de' @ Page.User.Identity.Name'. –