Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

rafaelsantos

Dúvida: AD retirar as informações de um User do servidor

Mensagens Recomendadas

rafaelsantos

Boas,

recentemente o meu professor pediu-me para fazer um programinha, tinha de fazer um pequeno form inicial de login, mas o login era feito com users da escola. Acontece que fiquei baralhado e ele disse-me que tinha de mexer com Active Directory e DirectoryEntry, DirectorySearcher e assim. O meu problema é retirar a informação do servidor da escola para poder confirmar o Nome do User e a sua Password para assim deixa-lo entrar na aplicação.

Deixo aqui o código que já fiz:

Public Class Form1
    Public Shared Function GetDirectoryEntry() As DirectoryServices.DirectoryEntry
        Dim de As DirectoryServices.DirectoryEntry = New DirectoryServices.DirectoryEntry()
        de.Path = "LDAP://10.0.0.1/CN=Users;DC=alunos"
        de.AuthenticationType = DirectoryServices.AuthenticationTypes.Secure
        Return de
    End Function
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        BackColor = Color.DarkGray
        TransparencyKey = BackColor
        GetDirectoryEntry()
    End Sub
    Private Sub btnentrar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnentrar.Click
        Dim username As String = txtuser.Text
        UserExists(username)
    End Sub
    Public Function UserExists(ByVal username As String) As Boolean
        Dim de As DirectoryServices.DirectoryEntry = GetDirectoryEntry()
        Dim deSearch As DirectoryServices.DirectorySearcher = New DirectoryServices.DirectorySearcher()
        deSearch.SearchRoot = de
        deSearch.Filter = "(&(objectClass=user)(cn=" & username & "))"
        Dim results As DirectoryServices.SearchResultCollection = deSearch.FindAll()
        If results.Count = 0 Then
            Return False
        Else
            Return True
        End If
    End Function

    Private Sub Label3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label3.Click
        Close()
    End Sub

    Private Sub Label3_MouseHover(ByVal sender As Object, ByVal e As System.EventArgs) Handles Label3.MouseHover
        Label3.ForeColor = Color.Blue
    End Sub

    Private Sub Label3_MouseLeave(ByVal sender As Object, ByVal e As System.EventArgs) Handles Label3.MouseLeave
        Label3.ForeColor = Color.Black
    End Sub
End Class

Desde já agradeço.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.