Exibir usuario autenticado ao logar
Ola, alguem ja teve essa dificuldade?
Estou usando componente LoginView para exibir usuario da rede do dominio Bem vindo DOMINIO\usuario
So exibe na mha maquina local do rodo a aplicacao.
Mas qdo publico para o servidor, nao aparece.
Ja fiz as seguintes configuracoes:
----------------
. <authentication mode="Windows">
. No iis 7, na opcao AUTENTICAO ANONIMO marquei como: application pool identity e habilitei opcao AUTENTICAO WINDOWS
Estou usando componente LoginView para exibir usuario da rede do dominio Bem vindo DOMINIO\usuario
So exibe na mha maquina local do rodo a aplicacao.
Mas qdo publico para o servidor, nao aparece.
Ja fiz as seguintes configuracoes:
----------------
. <authentication mode="Windows">
. No iis 7, na opcao AUTENTICAO ANONIMO marquei como: application pool identity e habilitei opcao AUTENTICAO WINDOWS
Jefferson
Curtidas 0
Respostas
Randrade
19/08/2015
Você está desenvolvendo em que? Asp clássico, MVC, Web Forms?
GOSTEI 0
Jefferson
19/08/2015
Asp Integrated
Coloquei isto
System.Security.Principal.WindowsIdentity.GetCurrent();
System.DirectoryServices.AccountManagement.UserPrincipal currentADUser;
currentADUser = System.DirectoryServices.AccountManagement.UserPrincipal.Current;
MAs nao funciona ao publicar dá esta msg:
Unable to cast object of type 'System.DirectoryServices.AccountManagement.GroupPrincipal' to type 'System.DirectoryServices.AccountManagement.UserPrincipal'.
Coloquei isto
System.Security.Principal.WindowsIdentity.GetCurrent();
System.DirectoryServices.AccountManagement.UserPrincipal currentADUser;
currentADUser = System.DirectoryServices.AccountManagement.UserPrincipal.Current;
MAs nao funciona ao publicar dá esta msg:
Unable to cast object of type 'System.DirectoryServices.AccountManagement.GroupPrincipal' to type 'System.DirectoryServices.AccountManagement.UserPrincipal'.
GOSTEI 0
Randrade
19/08/2015
Eu costumo usar uma das três formas, veja se alguma lhe atende:
P.S: Utilize a [tagcode] </> para postar código, assim fica melhor para nossa compreensão.
var userName = System.Web.HttpContext.Current.User.Identity.Name; var userName = HttpContext.Current.Request.LogonUserIdentity; var userName = User.Identity.Name;
P.S: Utilize a [tagcode] </> para postar código, assim fica melhor para nossa compreensão.
GOSTEI 0
Jefferson
19/08/2015
Randrade, funcionam sim os codigos citados acima, porém, nao quero usar um label para pegar o valor.
Gostaria de usar este proprio componete abaixo:
Ele so funciona quando rodo local. Mas quando publico nao aparece nada
Gostaria de usar este proprio componete abaixo:
Ele so funciona quando rodo local. Mas quando publico nao aparece nada
<asp:LoginView ID="HeadLoginView" runat="server" EnableViewState="true"> <AnonymousTemplate> [ <a href="~/sair.aspx" id="HeadLoginStatus" runat="server">Sair</a> ] </AnonymousTemplate> <LoggedInTemplate> Bem vindo <span class="bold"> <asp:LoginName ID="HeadLoginName" runat="server" /> </span>[ <asp:LoginStatus ID="HeadLoginStatus" runat="server" LogoutAction="Redirect" LogoutText="Sair" LogoutPageUrl="~/sair.aspx" /> ] </LoggedInTemplate> </asp:LoginView>
GOSTEI 0
Thiago Santana
19/08/2015
Jeferson, para que o seu componente funcione publicado você deverá efetuar um ajuste no seu webconfig.
Dá uma olhada neste link aqui que existe a configuração do web config como as propriedades necessários do seu
componente LoginView.
[url]http://quickstarts.asp.net/QuickStartv20/util/srcview.aspx?path=~/aspnet/samples/ctrlref/login/LoginViewBasic.src[/url]
Espero ter ajudado!
Dá uma olhada neste link aqui que existe a configuração do web config como as propriedades necessários do seu
componente LoginView.
[url]http://quickstarts.asp.net/QuickStartv20/util/srcview.aspx?path=~/aspnet/samples/ctrlref/login/LoginViewBasic.src[/url]
Espero ter ajudado!
GOSTEI 0
Jefferson
19/08/2015
No iis 6 funcionava. Nao precisava fazer muita coisa.
Bastava apenas deixa autenticao como WINDOWS no web.config
E configurar o iis 6
>PROPRIEDADE DE SITE DA WEB PADRAO
(Editar)
> Marcar opcao: ACESSO ANÔNIMO
Bastava apenas deixa autenticao como WINDOWS no web.config
<authentication mode="Windows">
E configurar o iis 6
>PROPRIEDADE DE SITE DA WEB PADRAO
(Editar)
> Marcar opcao: ACESSO ANÔNIMO
GOSTEI 0
Thiago Santana
19/08/2015
Que bom que seu problema foi resolvido! :D
GOSTEI 0
Jefferson
19/08/2015
Mas no iis7 nao ta funcionando.
NAO TA AUTENTICANDO.
Os valores em qualquer uma das opcoes sao nulos
[code
]var userName = System.Web.HttpContext.Current.User.Identity.Name;
var userName = HttpContext.Current.Request.LogonUserIdentity;
var userName = User.Identity.Name;[/code]
NAO TA AUTENTICANDO.
Os valores em qualquer uma das opcoes sao nulos
[code
]var userName = System.Web.HttpContext.Current.User.Identity.Name;
var userName = HttpContext.Current.Request.LogonUserIdentity;
var userName = User.Identity.Name;[/code]
GOSTEI 0
Jefferson
19/08/2015
Nao ta funcionando no iis 7 /7.5
Exibe esta msg:
Unable to cast object of type 'System.DirectoryServices.AccountManagement.GroupPrincipal' to type 'System.DirectoryServices.AccountManagement.UserPrincipal'.
Eu utilizava isto e funcionava no iis 6, mas no iis 7 e 7.5 nao autentica
Exibe esta msg:
Unable to cast object of type 'System.DirectoryServices.AccountManagement.GroupPrincipal' to type 'System.DirectoryServices.AccountManagement.UserPrincipal'.
Eu utilizava isto e funcionava no iis 6, mas no iis 7 e 7.5 nao autentica
System.DirectoryServices.AccountManagement.UserPrincipal currentADUser; currentADUser = System.DirectoryServices.AccountManagement.UserPrincipal.Current; string emailUsuario = currentADUser.EmailAddress; string Usuario = currentADUser.Name; string NomeCompleto = currentADUser.Name;
GOSTEI 0
Jefferson
19/08/2015
ASP integrated.
Pra mim nao ta funcionando.
Pra mim nao ta funcionando.
GOSTEI 0
Jefferson
19/08/2015
Vc configura oq no web.config e iis 7.5 ?
Ja tentei tudo e nao mostra nda qdo publico.
Ja joguei numa label pra ver o q eh passado. Nao mostra o usuario
Ja tentei tudo e nao mostra nda qdo publico.
Ja joguei numa label pra ver o q eh passado. Nao mostra o usuario
GOSTEI 0
Jefferson
19/08/2015
Ja tentei todas opcoes e nao autentica.
Alguem pode me dá uma dica oq possa ta faltando configurar no iis7.5 e web.config?
Alguem pode me dá uma dica oq possa ta faltando configurar no iis7.5 e web.config?
GOSTEI 0
Davi Amaral
19/08/2015
Meu caro! estou exatamente com esse problema!
A questão é que quando você usa o Request.ServerVariables("LOGON_USER") por exemplo, você está pegando o usuário do servidor e não da máquina windows que está acessando!
Será que alguém sabe como pegar o usuário que se logou na máquina?
A questão é que quando você usa o Request.ServerVariables("LOGON_USER") por exemplo, você está pegando o usuário do servidor e não da máquina windows que está acessando!
Será que alguém sabe como pegar o usuário que se logou na máquina?
GOSTEI 0
Jefferson
19/08/2015
Pois eh,
So funcionou eu substituindo o componente. por uma LABEL
joguei o valor para LABEL exibir
So funcionou eu substituindo o componente. por uma LABEL
joguei o valor para LABEL exibir
GOSTEI 0
Davi Amaral
19/08/2015
Você poderia colocar aqui sua solução?
Acho que terei que fazer algo do tipo também!
Acho que terei que fazer algo do tipo também!
GOSTEI 0
Jefferson
19/08/2015
Davi,
ver se atende:
OBS: Necessario add referencia System.DirectoryServices.AccountManagement
ver se atende:
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; protected void Page_Load(object sender, EventArgs e) { System.Security.Principal.WindowsIdentity.GetCurrent(); System.DirectoryServices.AccountManagement.UserPrincipal currentADUser; currentADUser = System.DirectoryServices.AccountManagement.UserPrincipal.Current; //remover o dominio, deixando apenas o usuario string Usuario = currentADUser.UserPrincipalName.Remove(currentADUser.Name.Length); //remove o usuario e '@'" string dominio = currentADUser.UserPrincipalName.Substring(currentADUser.UserPrincipalName.IndexOf("@")).Replace("@", ""); lbUserlogado.Text = "Bem vindo " + dominio + "\\" + Usuario; }
OBS: Necessario add referencia System.DirectoryServices.AccountManagement
GOSTEI 0
Jefferson
19/08/2015
Davi,
ver se atende:
OBS: Necessario add referencia System.DirectoryServices.AccountManagement
ver se atende:
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; protected void Page_Load(object sender, EventArgs e) { System.Security.Principal.WindowsIdentity.GetCurrent(); System.DirectoryServices.AccountManagement.UserPrincipal currentADUser; currentADUser = System.DirectoryServices.AccountManagement.UserPrincipal.Current; //remover o dominio, deixando apenas o usuario string Usuario = currentADUser.UserPrincipalName.Remove(currentADUser.Name.Length); //remove o usuario e '@'" string dominio = currentADUser.UserPrincipalName.Substring(currentADUser.UserPrincipalName.IndexOf("@")).Replace("@", ""); lbUserlogado.Text = "Bem vindo " + dominio + "\\" + Usuario; }
OBS: Necessario add referencia System.DirectoryServices.AccountManagement
Davi,
ver se atende:
OBS: Necessario add referencia System.DirectoryServices.AccountManagement
ver se atende:
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; protected void Page_Load(object sender, EventArgs e) { System.Security.Principal.WindowsIdentity.GetCurrent(); System.DirectoryServices.AccountManagement.UserPrincipal currentADUser; currentADUser = System.DirectoryServices.AccountManagement.UserPrincipal.Current; //remover o dominio, deixando apenas o usuario string Usuario = currentADUser.UserPrincipalName.Remove(currentADUser.Name.Length); //remove o usuario e '@'" string dominio = currentADUser.UserPrincipalName.Substring(currentADUser.UserPrincipalName.IndexOf("@")).Replace("@", ""); lbUserlogado.Text = "Bem vindo " + dominio + "\\" + Usuario; }
OBS: Necessario add referencia System.DirectoryServices.AccountManagement
GOSTEI 0
Davi Amaral
19/08/2015
Opa!
Obrigado, mas acabou que resolvemos mudar um pouco o projeto.
O Usuário vai digitar novamente seu dado.
Meu problema é que o sistema estava na nuvem e é em ASP Classico! rsrsrs
Eu queria pegar o usuário logado para fazer uma consulta LDAP na rede do cliente:
Ficou mais ou menos assim:
function AuthenticateUser(Username,Password,Domain)
dim strUser,strPass,strQuery,oConn,cmd,oRS
AuthenticateUser = true
strQuery = "SELECT cn FROM 'LDAP://"&Domain& "' WHERE objectClass='*'"
set oConn = server.CreateObject("ADODB.Connection")
oConn.Provider = "ADsDSOOBJECT"
oConn.properties("User ID") = Username
oConn.properties("Password")= Password
oConn.properties("Encrypt Password") = true
oConn.open "DS Query", Username,Password
set cmd = server.CreateObject("ADODB.Command")
set cmd.ActiveConnection = oConn
cmd.CommandText = strQuery
on error resume next
set oRS = cmd.Execute
if oRS.bof or oRS.eof then
AuthenticateUser = false
else
AuthenticateUser = true
end if
set oRS = nothing
set oConn = nothing
end function
Obrigado, mas acabou que resolvemos mudar um pouco o projeto.
O Usuário vai digitar novamente seu dado.
Meu problema é que o sistema estava na nuvem e é em ASP Classico! rsrsrs
Eu queria pegar o usuário logado para fazer uma consulta LDAP na rede do cliente:
Ficou mais ou menos assim:
function AuthenticateUser(Username,Password,Domain)
dim strUser,strPass,strQuery,oConn,cmd,oRS
AuthenticateUser = true
strQuery = "SELECT cn FROM 'LDAP://"&Domain& "' WHERE objectClass='*'"
set oConn = server.CreateObject("ADODB.Connection")
oConn.Provider = "ADsDSOOBJECT"
oConn.properties("User ID") = Username
oConn.properties("Password")= Password
oConn.properties("Encrypt Password") = true
oConn.open "DS Query", Username,Password
set cmd = server.CreateObject("ADODB.Command")
set cmd.ActiveConnection = oConn
cmd.CommandText = strQuery
on error resume next
set oRS = cmd.Execute
if oRS.bof or oRS.eof then
AuthenticateUser = false
else
AuthenticateUser = true
end if
set oRS = nothing
set oConn = nothing
end function
GOSTEI 0