Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Como obter o Id do usuário logado

Quando criei o projeto usando MVC ele já montou toda a parte de registro e login de usuário.

Quando faço o login o Nome do usuário já é colocado no cabeçalho através do User.Identity.GetUserName() que é chamado na View Partial que monta o cabeçalho.

@using Microsoft.AspNet.Identity
@if (Request.IsAuthenticated)
{
    using (Html.BeginForm("LogOff", "Account", FormMethod.Post, new { id = "logoutForm", @class = "navbar-right" }))
    {
    @Html.AntiForgeryToken()

    <ul class="nav navbar-nav navbar-right">
        <li>
            @Html.ActionLink("Usuário: " + User.Identity.GetUserName() + " ", "Index", "Manage", routeValues: null, htmlAttributes: new { title = "Manage" })
        </li>
        <li><a href="javascript:document.getElementById('logoutForm').submit()">Log off</a></li>
    </ul>
    }
}

E existe aqui também um User.Identity.GetUserId() que funciona na mesma View.

Mas eu gostaria de poder usar esse Id para carregar alguns campos que devem ser preenchidos com o nome do usuário que criou o registro, mas não consigo essa informação no restante do projeto.

Achei que bastaria usar :

using Microsoft.AspNet.Identity

Em qualquer controller mas não é verdade. Mesmo usando essa biblioteca o a variável "User" não é reconhecida.

Alguém teria uma sugestão??

1 resposta
solução!

Olá Jaqueline,

você chegou a passar o using Microsoft.AspNet.Identity na sua view cshtml, da mesma forma que no exemplo acima? Porque se você passar apenas no controller, a view não saberá trabalhar com a classe User.

Se mesmo passando o using Microsoft.AspNet.Identity na sua view não funcionar, tente este comando aqui:

HttpContext.Current.User.Identity.GetUserId();

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software