Em um modelo de formulários, eu costumava obter o usuário conectado atual:
Page.CurrentUser
Como obtenho o usuário atual dentro de uma classe de controlador no ASP.NET MVC?
c#
.net
asp.net-mvc
iis
forms-authentication
Serhat Ozgel
fonte
fonte
Descobri que
User
obras, ou seja,User.Identity.Name
ouUser.IsInRole("Administrator")
.fonte
Imports System.Web
e ainda qualificar-se com comHttpContext.Current.User.Identity.Name
, ou diretamente qualificar usando a sintaxe completa:System.Web.HttpContext.Current.User.Identity.Name
Tente
HttpContext.Current.User
.fonte
Você pode obter o nome do usuário no ASP.NET MVC4 assim:
fonte
'System.Web.HttpContextBase' does not contain a definition for 'Current' and no extension method 'Current' accepting a first argument of type 'System.Web.HttpContextBase' could be found
, sugiro fazer uma chamada absoluta como estaSystem.Web.HttpContext.Current.User.Identity.Name
,.Sei que isso é muito antigo, mas estou apenas começando com o ASP.NET MVC, então pensei em colocar meus dois centavos em:
Request.IsAuthenticated
informa se o usuário está autenticado.Page.User.Identity
fornece a identidade do usuário conectado.fonte
Eu uso:
Não tenho certeza se isso funcionará no ASP.NET MVC, mas vale a pena tentar :)
fonte
ficando logado nome de usuário:
System.Web.HttpContext.Current.User.Identity.Name
fonte
Para fazer referência a um ID de usuário criado usando autenticação simples incorporada ao ASP.NET MVC 4 em um controlador para fins de filtragem (o que é útil se você estiver usando o banco de dados primeiro e o Entity Framework 5 para gerar ligações primeiro ao código e suas tabelas estiverem estruturadas que uma chave estrangeira para o ID do usuário é usada), você pode usar
depois de adicionar uma instrução using
fonte
System.Security.Principal.WindowsIdentity.GetCurrent().Name
funciona emMVC 5
. No entanto, isso abre o nome de domínio com o nome de usuário. ou seja, domínio \ nome de usuárioPodemos usar o seguinte código para obter o usuário conectado atual no asp.net MVC:
Além disso
fonte
Nome de usuário com:
Mas se você precisar obter apenas o ID, poderá usar:
Portanto, você pode obter diretamente o ID do usuário:
fonte
Esta página pode ser o que você está procurando:
Usando Page.User.Identity.Name no MVC3
Você só precisa
User.Identity.Name
.fonte
Use
System.Security.Principal.WindowsIdentity.GetCurrent().Name
.Isso obterá o usuário atual do Windows conectado.
fonte
Quanto vale a pena, no ASP.NET MVC 3, você pode simplesmente usar User, que retorna o usuário para a solicitação atual.
fonte
Se você estiver dentro da sua página de login, no evento LoginUser_LoggedIn, por exemplo, Current.User.Identity.Name retornará um valor vazio; portanto, você deve usar a propriedade yourLoginControlName.UserName.
fonte
Você pode usar o seguinte código:
fonte
fonte
fonte
Se você estiver trabalhando no Active Directory em uma intranet, aqui estão algumas dicas:
(Windows Server 2012)
A execução de qualquer coisa que converse com o AD em um servidor da web requer várias alterações e paciência. Como, quando executado em um servidor Web versus o IIS / IIS Express local, ele é executado na identidade do AppPool, é necessário configurá-lo para representar quem acessa o site.
Como obter o usuário conectado atual em um diretório ativo quando o aplicativo ASP.NET MVC estiver sendo executado em um servidor Web dentro da rede:
Você deve encerrar todas as chamadas relacionadas ao 'contexto do diretório ativo' a seguir, para que ele atue como o ambiente de hospedagem para obter as informações do AD:
Você também deve ter
impersonate
definido como true no seu web.config:Você deve ter a autenticação do Windows ativada no web.config:
fonte
No Asp.net Mvc Identity 2, você pode obter o nome de usuário atual:
fonte
No Gerenciador do IIS, em Autenticação, desative: 1) Autenticação Anônima 2) Autenticação de Formulários
Em seguida, adicione o seguinte ao seu controlador, para lidar com teste versus implantação do servidor:
fonte