Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

pedro rodrigues

AccountManagement UserPrincipal EmailAddress NULL

Recommended Posts

Olá Pessoal,


Estou com um problema e não consigo encontrar solução.

Recupero o e-mail do usuário logado através do código abaixo:

var pc = new System.DirectoryServices.AccountManagement.PrincipalContext(System.DirectoryServices.AccountManagement.ContextType.Domain);

var user = System.DirectoryServices.AccountManagement.UserPrincipal.FindByIdentity(pc, System.DirectoryServices.AccountManagement.IdentityType.SamAccountName, username.ToLower());

email = user.EmailAddress;

 

Acontece que para alguns usuários o e-mail vem nulo. E no AD o e-mail está cadastrado corretamente.

Agluém pode ajduar?


Obrigado,

Pedro

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, mas esses emails que somem, eles tem um padrão? Por exemplo, são todos da google, ou de um provedor específico, tem algum nome específico ou etc?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Agora eu não tenho o código todo aqui.

Mas não é muito mais que isso não.

 

Básicamente em uma classe tem alguns métodos.

Dentre eles o de recuperação do login do usuário logado na rede (este código não apresenta problemas) e o de recuperar o e-mail que é básicamente esse trecho de código apresentado.

 

Em um aspx são invocados os métodos, primeiro o de recuperar o login e depois o de recuperar e-mail que recebe o login como parâmetro.

 

Até onde cheguei o EmailAddress vem nulo. Outros dados o usuário não vem. E no AD o e-mail está cadastrado.

 

Quando der eu coloco o código aqui.

 

Aproveito para agradecer a todos pela contribuíção até agora!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não tem como.

 

Essa aplicação tá em produção e o acesso que eu tenho ao servidor é via VPN. Porém, com a VPN, da minha estação de trabalho não tenho acesso direto ao AD, então não é possível debugar com Visual Studio.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O sistema está hospedado em uma arquitetura que usa florestas e árvore de domínios.

 

Pois bem, o código implementado acessa o AD do contexto em que ele está sendo executado.

 

No caso, o AD responsável pelo contexto da aplicação não estava atualizado. Os usuários que apresentavam problemas não estavam com o endereço de e-mail preenchido neste AD.

 

E quando se consultava o AD principal, com alguma ferramenta própria para isso, as informações estavam lá corretamente, o que causava a confusão.

 

Depois de alguma investigação foi detectada a confusão.

 

É isso. Problema resolvido

 

Obrigado pela colaboração de todos!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.