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
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
Post a Comment