Autor: Rafael Maia
É muito comum criarmos aplicações que façam uso da estrutura do Active Directory para autenticar usuários ou validar regras de acesso. Para isso, o .Net fornece classes para manipulação de dados dentro de bases LDAP (Lightweight Directory Access Protocol)
Segue um exemplo de como consultar dados de um usuário direto de uma base de dados LDAP:
Dim de As New DirectoryEntry("LDAP://10.190.1.25") 'Endereço do active Directory
Dim busca As New DirectorySearcher(de)
Dim resultado As SearchResult
busca.Filter = "(sAMAccountName=RafaelMaia)"
resultado = busca.FindOne()
Response.Write results.Properties("mail")(0)
O código acima irá consultar os dados do usuário RafaelMaia e escrever na tela o email do mesmo.
Pode-se acessar qualquer informação cadastrada no perfil do usuário no Active Directory.
Desde o Nome até telefones de contato. Só não se pode recuperar a senha do usuário, por razões óbvias.
É importante importar o namespace System.DirectoryServices.
Imports System.DirectoryServices
No link abaixo você pode visualizar uma lista completa de todas as propriedades do Active Directory.
http://www.computerperformance.co.uk/Logon/LDAP_attributes_active_directory.htm
A seguir um exemplo de como validar o login e senha de um usuário diretamente no AD.
Dim de As New DirectoryEntry(Nothing, "dominio\RafaelMaia", "senha_do_usuario")
Try
Dim o = de.NativeObject
Dim ds As New DirectorySearcher(de)
ds.Filter = "samaccountname=RafaelMaia"
ds.PropertiesToLoad.Add("cn")
Dim sr As SearchResult
sr = ds.FindOne()
If IsNothing(sr) Then Throw New Exception()
Response.write("Login válido!")
Catch ex As Exception
Response.write("Login e/ou senha inválidos!")
End Try
Por agora é tudo
Segue um exemplo de como consultar dados de um usuário direto de uma base de dados LDAP:
Dim de As New DirectoryEntry("LDAP://10.190.1.25") 'Endereço do active Directory
Dim busca As New DirectorySearcher(de)
Dim resultado As SearchResult
busca.Filter = "(sAMAccountName=RafaelMaia)"
resultado = busca.FindOne()
Response.Write results.Properties("mail")(0)
O código acima irá consultar os dados do usuário RafaelMaia e escrever na tela o email do mesmo.
Pode-se acessar qualquer informação cadastrada no perfil do usuário no Active Directory.
Desde o Nome até telefones de contato. Só não se pode recuperar a senha do usuário, por razões óbvias.
É importante importar o namespace System.DirectoryServices.
Imports System.DirectoryServices
No link abaixo você pode visualizar uma lista completa de todas as propriedades do Active Directory.
http://www.computerperformance.co.uk/Logon/LDAP_attributes_active_directory.htm
A seguir um exemplo de como validar o login e senha de um usuário diretamente no AD.
Dim de As New DirectoryEntry(Nothing, "dominio\RafaelMaia", "senha_do_usuario")
Try
Dim o = de.NativeObject
Dim ds As New DirectorySearcher(de)
ds.Filter = "samaccountname=RafaelMaia"
ds.PropertiesToLoad.Add("cn")
Dim sr As SearchResult
sr = ds.FindOne()
If IsNothing(sr) Then Throw New Exception()
Response.write("Login válido!")
Catch ex As Exception
Response.write("Login e/ou senha inválidos!")
End Try
Por agora é tudo
0 comentários :
Enviar um comentário