Skip to main content

LDAP In VB.Net

hey there friends, 
here is this i would like to share another simple code in developing an application in VB.Net

by now i would like to share how the way to use a LDAP (Lightweight Directory Access Protocol). at the time i need to develop a system which needs to use login user using domain user (ex: peoplename@company.co.id) no longer using user level in database. it is so confused to me to make it real at the time, because i never make it before. but this is the way how i make it happened.

just make a simple form as below :













next level :
add another reference in your visual studio project (System.DirectoryService.dll)

next :
make a new class

Imports System
Imports System.Text
Imports System.Collections
Imports System.Security.Principal
Imports System.DirectoryServices

Public Class LDAPControlClass
    Private NamaDomain As String = "company.co.id"
    Private MemberOf As New List(Of String)

    Public Function LoginLDAP(ByVal UsernameLDAP As String, ByVal PasswordLDAP As String) As Boolean

        Dim domainAndUsername = NamaDomain & "\" & UsernameLDAP
        Dim entry As DirectoryEntry = New DirectoryEntry("LDAP://" + NamaDomain, domainAndUsername, PasswordLDAP)
        Try
            Dim obj As Object = entry.NativeObject
            Dim search As DirectorySearcher = New DirectorySearcher(entry)
            search.Filter = "(&(objectcategory=user)(SAMAccountName=" & UsernameLDAP & "))"
            search.PropertiesToLoad.Add("memberOf")
            Dim result As SearchResult = search.FindOne()
            If IsNothing(result) Then
                Return False
            End If
            MemberOf = New List(Of String)

            For i = 0 To result.Properties("memberOf").Count() - 1
                Dim de As DirectoryEntry = New DirectoryEntry("LDAP://" + result.Properties("memberOf")(i).ToString())
                MemberOf.Add(de.Properties("name").Value.ToString())
            Next
            Return True
        Catch ex As Exception
            Throw New Exception("DATA DENGAN USER *" & UsernameLDAP & "*" & vbCrLf & _
                                "TIDAK TERDAFTAR DALAM DOMAIN *" & NamaDomain & "*")
        End Try

    End Function
End Class

Private Sub BtnLOGIN_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnLOGIN.Click
        Try
            MeLDAPControl.LoginLDAP(TxtUSERNAME.Text, TxtPASSWORD.Text)
            MsgBox("VERIFIKASI USER *" & TxtUSERNAME.Text & "* OKEH", MsgBoxStyle.Information, Me.Text)
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub

Comments