Ir para conteúdo

POWERED BY:

Arquivado

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

Katsu

Active Directory em C#

Recommended Posts

Bom dia. tenho em meu projeto uma opção onde o sistema deve pegar os usuários do Active Directory do Windows e cadastrá-los no sistema. Fiz a autenticação no Active directory utilizando a conta de administrador e consegui listar os usuários e grupos do Active Directory, porem gostaria de cadastrá-los com a mesma senha que utilizam no windos, mas n consigo pegar a senha, somente setar uma nova. Existe alguma maneira de recuperar essas senhas do Active Directory?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nunca tentei, mas acho que por motivos de segurança você não vai conseguir.

Nós temos aqui um sistema que autentica no AD, e esses mesmos usuários estão cadastrados em um SqlServer, com a mesma senha.

O que fazemos é, quando o usuário loga no sistema, fazemos a autenticação no AD e vemos se está Ok, se estiver, é porque a senha está correta, ai nesse momento nos cadastramos o usuário no SqlServer usando a senha que ele digitou.

Fica ai uma sugestão!

 

Att,

Guilherme Oenning.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, acabei por fazer uma mudança e não vou precisar da senha do usuário, porém estou tendo uns problemas referentes aos grupos. Um usuário pode pertencer a vários grupos no AD, porem preciso pegar apenas 1 grupo de cada usuário. O Primary Group. Acontece que o mesmo não é retornado usando MemberOf, então achei uma opção na net utilizando TokenGroups. Consigo pegar uma listagem que sei que contem o grupo primario, porem não sei qual deles é o primário.. Como faço pra saber isso?? Meu código está +- assim:

 

 

user.RefreshCache(new string[]{"tokenGroups"});

IdentityReferenceCollection irc = new IdentityReferenceCollection();

foreach (byte[] sidBytes in user.Properties["tokenGroups"])

{

irc.Add(new SecurityIdentifier(sidBytes, 0));

}

Nesse caso, user é o DirectoryEntry do usuário. Consigo uma listagem com os SIDs, porem não sei qual deles é o primário para que possa utilizar um DirectorySeacher para localizá-lo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nunca tentei, mas acho que por motivos de segurança você não vai conseguir.

Nós temos aqui um sistema que autentica no AD, e esses mesmos usuários estão cadastrados em um SqlServer, com a mesma senha.

O que fazemos é, quando o usuário loga no sistema, fazemos a autenticação no AD e vemos se está Ok, se estiver, é porque a senha está correta, ai nesse momento nos cadastramos o usuário no SqlServer usando a senha que ele digitou.

Fica ai uma sugestão!

 

Att,

Guilherme Oenning.

 

 

Olá,

estou em um projeto que preciso, em uma determinada tela, validar o usuário no AD, para isso ele deverá informar seu login e senha no AD/Rede. Fazer a verificação apenas do login já temos em outros projetos e é tranquilo, usamos o filtro "(&(objectClass=user)(sAMAccountName={0})(userAccountControl=512))", mas validar a senha não estou conseguido, alguém poderia me ajudar? Qual a propriedade que devo usar?

 

Já tentei pwd=SENHA, userPassword=SENHA e password=SENHA. A string completa ficou assim: "(&(objectClass=user)(sAMAccountName={0})(password={1})(userAccountControl=512))".

 

Guilherme, como você fez a busca passando usr e senha?

 

Vlw.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Katsu, já fiz algo parecida com a sua necessidade, porém acessar a senha do usuário no AD pelo C#acredito não ser possível, por motivos de segurança do próprio AD.

 

Qual é a necessidade de usar a senha do usuário no seu SQL Server?

 

Att

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.