• Viernes 8 de Noviembre de 2024, 11:31

Autor Tema:  Autenticacion Con Active Directory  (Leído 2190 veces)

Javier Santamaria

  • Miembro MUY activo
  • ***
  • Mensajes: 142
    • Ver Perfil
Autenticacion Con Active Directory
« en: Jueves 17 de Abril de 2008, 15:13 »
0
Hola,

He leido este articulo:
http://msdn2.microsoft.com/en-us/library/ms998360.aspx

Y he seguido los pasos, pero cuando trato de hacer login siempre me lo rechaza. He probado utilizando el dominio delante de mi nombre de usuario, mi nombre de usuario solo, mi nombre de usuario tipo email en lugar de tipo ruta (como dice en el tutorial)... pero nada, sigue sin darme acceso.

Algun podriais decirme si falta algo o como puedo debuguear ese codigo?

PD: Obviamente el nombre del dominio lo he cambiado al mio y accedo a AD para validar nombre de usuario y contraseña con una cuenta de administrador.

Espero alguan sugerencia.

Muchas gracias

Un saludo

Javier Santamaria

  • Miembro MUY activo
  • ***
  • Mensajes: 142
    • Ver Perfil
Re: Autenticacion Con Active Directory
« Respuesta #1 en: Viernes 18 de Abril de 2008, 12:42 »
0
Hola de nuevo,

Por casualidades de la vida me he dado cuenta de que tecleando el password en orden inverso funciona. Y esto es porque cada vez que escribo algo en el campo del login el cursor se mueve a la primera posicion, por lo que si lo escribimos a la inversa nos queda la el password escrito correctamente.
Ejemplo -> "Password" deberia de teclearse "drowssaP" para que nos valide el usuario.

Ahora bien, como comprendereis esto no se puede quedar asi y decirle a la gente que escriba su password del reves. Alguien sabe como solucionarlo? A alguien le ha pasado?

Saludos y muchas gracias

mustang

  • Miembro MUY activo
  • ***
  • Mensajes: 133
    • Ver Perfil
Re: Autenticacion Con Active Directory
« Respuesta #2 en: Jueves 19 de Junio de 2008, 16:03 »
0
Te paso el código de como loggeo en mi dominio para ke lo chekes y ver si te sirve:
Primero ke nada haces un imports de:
Citar
Imports System.DirectoryServices
Código: Text
  1.  
  2. Dim username As String = tbUsuario.Text.Trim    'Textbox de usuarios
  3.         Dim pwd As String = tbPass.Text                'Textbox de password
  4.         Dim strPath As String = "LDAP://distribjal.cfemex.com/DC=distribjal, DC=com"      'Lo cambias por tu dominio
  5.         Dim strDomain As String = "distribjal"    'Nombre del dominio
  6.         Dim domainAndUsername As String = strDomain + "\" + username
  7.         Dim entry As DirectoryEntry = New DirectoryEntry(strPath, domainAndUsername, pwd)
  8.         Dim search As DirectorySearcher = New DirectorySearcher(entry)
  9.         Try
  10.             search.FindAll()    'Aki no se por ké pero siempre devuelve un error y si el error NO es inicio de sesión, significa ke si se loggeo
  11.        Catch ex As Exception
  12.             If Not ex.Message.ToString.Substring(0, 25) = "Error de inicio de sesión" Then
  13.                 Response.Write("Encontrado y loggeado")
  14.             Else
  15.                 Response.Write("NO Encontrado")
  16.             End If
  17.         End Try
  18.  

Espero te sirva, cualkier cosa, lo posteas
El camino del exceso lleva al palacio de la sabiduria.....(William Blake)

Mollense

  • Miembro de PLATA
  • *****
  • Mensajes: 1755
  • Nacionalidad: ar
    • Ver Perfil
    • http://solocodigo.com/
Re: Autenticacion Con Active Directory
« Respuesta #3 en: Jueves 19 de Junio de 2008, 23:08 »
0
Yo lo tengo así:
En el "Web.config" tengo:
Código: Text
  1. <configuration>
  2.   <system.web>
  3.     <authentication mode="Forms">
  4.       <forms loginUrl="Publico/Acceso.aspx"/>
  5.     </authentication>
  6.     <authorization>
  7.       <deny users="?"/>
  8.     </authorization>
  9.   </system.web>
  10.   <location path="Publico">
  11.     <system.web>
  12.       <authorization>
  13.         <allow users="*"/>
  14.       </authorization>
  15.     </system.web>
  16.   </location>
  17.   <location path="Default.aspx">
  18.     <system.web>
  19.       <authorization>
  20.         <allow users="*"/>
  21.       </authorization>
  22.     </system.web>
  23.   </location>
  24. </configuration>
  25.  

Y la estructura de mi página es:
Código: Text
  1. +Publico/
  2.     -(Páginas que no necesitan identificación de usuario para ser vistas)
  3. +Privado/
  4.     -(Páginas que sí necesitan identificación de usuario para ser vistas)
  5. +Default.aspx
  6.  

Veamos ahora el "Web.config" parte por parte:
Código: Text
  1. <system.web>
  2.     <authentication mode="Forms">
  3.       <forms loginUrl="Publico/Acceso.aspx"/>
  4.     </authentication>
  5.     <authorization>
  6.       <deny users="?"/>
  7.     </authorization>
  8.   </system.web>
  9.  
Acá, primero, defino cual es el formulario de inicio de sesión, segundo digo que por defecto, todas las páginas requieren autenticación.

Código: Text
  1. <location path="Publico">
  2.     <system.web>
  3.       <authorization>
  4.         <allow users="*"/>
  5.       </authorization>
  6.     </system.web>
  7.   </location>
  8.   <location path="Default.aspx">
  9.     <system.web>
  10.       <authorization>
  11.         <allow users="*"/>
  12.       </authorization>
  13.     </system.web>
  14.   </location>
  15.  
Acá defino dos excepciones a la restricción anterior y digo que dentro de la carpeta "Publico, todas las páginas están autorizadas para ser vistas, por lo que no necesitan autenticación.
Lo mismo hago para el archivo en particular "Default.aspx", por lo que tampoco requiere de un usuario autentificado para poder visualizarse.

En el formulario de acceso, en un botón tengo algo así:
Código: Text
  1.  
  2. //Determinar permisos según el método que uses
  3. if (!permisoConcedido)
  4.         {
  5.             lbMensaje.Text = "El nombre de usuario ingresado no existe o la contraseña es inválida";
  6.         }
  7.         else
  8.         {
  9.             FormsAuthentication.RedirectFromLoginPage(strNombreDeUsuario, true);
  10.         }
  11.  

Espero que sirva de algo.

Respecto a lo del "campo del login"... ni idea. :ph34r:
"Los que renuncian son más numerosos que los que fracasan" H.F.
"No se cómo sería la III Guerra Mundial, pero la cuarta sería con piedras" A.E.
"Quién no fía no es de fiar..."


...no te quedes mirando.