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

Popular posts from this blog

CheckBox dalam DataGridView VB.Net

Pada saat membuat aplikasi (VB.Net) untuk materi skripsi, terbesit bagaimana cara baru untuk memberikan hak akses user secara dinamis pada sistem. setelah dicoba dengan tanya-tanya. akhirnya bisa mendapatkan cara itu... wah sesuatu banget dah.... inti dari posting ini hanya pada barisan kode berikut : Private Sub BtnSIMPAN_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnSIMPAN.Click         Dim Y As String = Mid(CmbUSER.Text, 1, 7)         Dim iROW As Integer         Dim AKSES As String         For iROW = 0 To DGVSample.Rows.Count - 1             'AksesBox = Nama CheckBox yang ada di DatagridView             If DGVSample.Rows(iROW).Cells("AksesBox").Value Then                 AKSES = "1"             Else                 AKSES = "0"             End If             'Class Proses DML (Simpan Data)             xSIMPAN.SIMPAN_AKSES(Y, DGVSample.Rows(iROW).Cells(1).Value, AKSES)         N