Autenticación de usuarios de Dominio con Visual Basic.NET

En esta oportunidad les muestro un ejemplo de un formulario de inicio de sesión validando el usuario contra un servidor de dominio LDAP (Active Directory).

 Login LPAD

Agrega al proyecto la referencia System.DirectoryServices.

En el formulario importas el espacion de nombre: Imports System.DirectoryServices.

CÓDIGO DEL BOTON BTNINGRESAR:

Private Sub BtnIngresar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnIngresar.Click
Try

 If IsAuthenticated(Dominio, TxtUsuario.Text, MtxtClave.Text) Then
   MsgBox("Usuario validado correctamente en dominio " & Dominio,    MsgBoxStyle.Information)
 Else
   MsgBox("Ha habido un error de autenticación, compruebe los dato   s.", MsgBoxStyle.Exclamation)
 End If

Catch ex As Exception
  MessageBox.Show(ex.Message, "ERROR", MessageBoxButtons.OK, Messa  geBoxIcon.Error)
End Try

End Sub

CÓDIGO DEL LA FUNCION ISAUTHENTICATED:

Public Function IsAuthenticated(ByVal domain As String, ByVal username As String, ByVal pwd As String) As Boolean

Dim path As String = "LDAP://midominio.com.sv/DC=midominio,DC=com,DC=sv"
Dim domainAndUsername As String = domain & "\" & username
Dim entry As DirectoryEntry = New DirectoryEntry(path, domainAndUsername, pwd)
Dim filterAttribute As String

Try
  'Bind to the native AdsObject to force authentication.
  Dim obj As Object = entry.NativeObject
  Dim search As DirectorySearcher = New DirectorySearcher(entry)
  search.Filter = "(SAMAccountName=" & username & ")"
  search.PropertiesToLoad.Add("cn")
  Dim result As SearchResult = search.FindOne()
  
  If (result Is Nothing) Then
    Return False
  End If

Catch ex As Exception
  Return False
End Try

Return True

End Function

Listo, espero les sea de utilidad.

Saludos cordiales.

 

Anuncios

Acerca de tihuilo

Estudiante de Ing. en Sistemas y Computación
Esta entrada fue publicada en Informatica, Visual Basic.Net. Guarda el enlace permanente.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s