none
Validar usuario y contraseña de Windows RRS feed

  • Pregunta

  • Buenas,

    Tengo una aplicacion de escritorio con la que quiero validar el acceso con las credenciales que tenga en el servidor y al grupo que pertenezca, probe con importar "System.DirectoryServices" y dicha referencia no existe o no la encuentra, con lo cual no puedo acceder a las funciones/propiedades/etc de esta clase, sabe alguien como puedo realizar esta validacion?

    He de decir que el Framework de la aplicacion es 4.0 por si tiene algo que ver con esto.

    Muchas gracias.

    viernes, 1 de febrero de 2013 12:52

Respuestas

  • hola

    Howto: (Almost) Everything In Active Directory via C#

    como veras puedes validar el usuario contra active directory, pero deberas estar en un dominoio de windows para poder usarlo

    http://social.msdn.microsoft.com/Forums/es/vbes/thread/bc718a65-78e8-4265-9952-ae6836d3795f

    lo que no encontre es esto en vb.net, pero puede convertirlo

    http://converter.telerik.com/

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina


    viernes, 1 de febrero de 2013 13:14
  • Creo que esta seria una forma de validar esto, por si a alguien le sirve.

    Public Function IsAuthenticated(ByVal userLogin As String, ByVal grupo As String) As Boolean
    	Dim aux As Boolean = False
    	Dim objUser As DirectoryEntry
    	Dim objDirectoryEntry As New DirectoryServices.DirectoryEntry("LDAP://servidor")
    	Dim objDirectorySearcher As New DirectoryServices.DirectorySearcher(objDirectoryEntry)
    	Dim objSearchResult As DirectoryServices.SearchResult
    	objDirectorySearcher.Filter = "(SAMAccountName=" & userLogin & ")"
    	objDirectorySearcher.PropertiesToLoad.Add("CN")
    	objSearchResult = objDirectorySearcher.FindOne()
    	objUser = objSearchResult.GetDirectoryEntry()
    	nameUser = objUser.Properties("CN").Value
    	Dim grupos() As Object = objUser.Properties("MemberOf").Value
    
    	For x As Integer = 0 To UBound(grupos)
    		If InStr(grupos(x).ToString, grupo.ToString, CompareMethod.Text) Then
    			aux = True
    			Exit For
    		End If
    	Next x
    
    	Return aux
    
    End Function

    Un saludo.
    • Marcado como respuesta Jotch83 jueves, 14 de febrero de 2013 11:23
    jueves, 14 de febrero de 2013 11:22

Todas las respuestas

  • hola

    Howto: (Almost) Everything In Active Directory via C#

    como veras puedes validar el usuario contra active directory, pero deberas estar en un dominoio de windows para poder usarlo

    http://social.msdn.microsoft.com/Forums/es/vbes/thread/bc718a65-78e8-4265-9952-ae6836d3795f

    lo que no encontre es esto en vb.net, pero puede convertirlo

    http://converter.telerik.com/

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina


    viernes, 1 de febrero de 2013 13:14
  • Creo que esta seria una forma de validar esto, por si a alguien le sirve.

    Public Function IsAuthenticated(ByVal userLogin As String, ByVal grupo As String) As Boolean
    	Dim aux As Boolean = False
    	Dim objUser As DirectoryEntry
    	Dim objDirectoryEntry As New DirectoryServices.DirectoryEntry("LDAP://servidor")
    	Dim objDirectorySearcher As New DirectoryServices.DirectorySearcher(objDirectoryEntry)
    	Dim objSearchResult As DirectoryServices.SearchResult
    	objDirectorySearcher.Filter = "(SAMAccountName=" & userLogin & ")"
    	objDirectorySearcher.PropertiesToLoad.Add("CN")
    	objSearchResult = objDirectorySearcher.FindOne()
    	objUser = objSearchResult.GetDirectoryEntry()
    	nameUser = objUser.Properties("CN").Value
    	Dim grupos() As Object = objUser.Properties("MemberOf").Value
    
    	For x As Integer = 0 To UBound(grupos)
    		If InStr(grupos(x).ToString, grupo.ToString, CompareMethod.Text) Then
    			aux = True
    			Exit For
    		End If
    	Next x
    
    	Return aux
    
    End Function

    Un saludo.
    • Marcado como respuesta Jotch83 jueves, 14 de febrero de 2013 11:23
    jueves, 14 de febrero de 2013 11:22