none
como autenticar un usuario y contraseña con datos desde una tabla en una BD en SQL server y VS C#

    Debate general

  • Hola ojala me puedan ayudar, mi problema es que quiero meter dentro de un arreglo un campo llamado usuario y en otro uno llamado password de una tabla llamada usuarios, esto para un form que autentique al usuario y el password, con un for que recorra todo el arreglo y autentique si el password y el usuario coincidan es como lo tengo pensado no se si alguien tenga una idea mejor para autenticar, pero desde una tabla en una base da datos. 

    • Tipo cambiado reynaldo.sosa lunes, 14 de junio de 2010 4:20 podría ayudar a varios usuarios que tienen el mismo problema
    lunes, 14 de junio de 2010 3:35

Todas las respuestas

  • Hola Reynaldo, bueno, yo lo haría diferente, primero que todo hay que saber como manejas la encripción de la clave ya que de esto puede depender la forma de hacer esto, generalmente, lo que mas se usa es crear un Hash sobre la clave del usuario y es esta la que grabas en la base de datos, o sea cuando estás haciendo la grabación del usuario, grabas la información del usuario y el hash calculado.

    La característica que tiene el Hash es que es de una sola vía, o sea, desde la clave creas el hash, pero desde un hash no puedes recuperar la clave lo cual es una ventaja a nivel de seguridad.

    Cuando vas a hacer el Login, haces la consulta directamente contra la base de datos convirtiendo el password que digitó el usuario en un hash antes de enviarlo

    string clave = Encrypt( txtClave.Text );

    Despues envías una consulta a la base de datos en la que compraras el string del nombre del usuario y la clave convertida en hash contra el hash de la base de datos.

    Si la consulta retorna un registro el login fué válido, de lo contrario no.

    Saludos,

     

     


    Mauricio Atanache G. - MCP
    Bogotá - Colombia
    "Bienaventurados los Pesimistas. Por que hacen BACKUPS."
    lunes, 14 de junio de 2010 3:48
  • gracias Mauricio , solo que tu me hablas de como encriptar la clave, pero lo que necesito saber es como autenticar en un form donde el usuario pone el nombre de usuario y la contraseña, y en el código tiene que reconocer, por ejemplo que un usuario en la posicion [i] del arreglo usuarios sea igual a la pisicion [i] del arreglo contraseña, para permitirle acceso al form principal, pero los dos arreglos devén venir desde una tabla en la base de datos eso es lo que necesito saber, como es la sintaxis para poner a los usuarios en un arreglo, al igual que los passwords
    lunes, 14 de junio de 2010 4:06
  • Lo que no entiendo es por que los quieres poner en un arreglo, lo que yo haría es enviar la información que el usuario ingresó directamente a una consulta (con todo y el tema de encripción) a la base de datos y esperar que me retorne un registro ( significa que encontró coincidencia de los datos que le enviaste ) o sea que el usuario tiene acceso.

    No veo hasta ahora la necesidad de bajar toda la información de la tabla de usuarios en un arreglo!.

    Tal vez no he entendido bién tu planteamiento hasta ahora, si es así te pido disculpas.

     

    Saludos,


    Mauricio Atanache G. - MCP
    Bogotá - Colombia
    "Bienaventurados los Pesimistas. Por que hacen BACKUPS."
    lunes, 14 de junio de 2010 7:59
  • hola

    no necesitas hacer un for para autenticar, puedes directametne en una query a la db validar el usuario

    Login – Usando Password con Hash

     

    en el articulo cuento un poco lo que ya te ha introducido Mauricio

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    lunes, 14 de junio de 2010 12:01
  • :-)
    Hola, Reynaldo,

    Verás, hoy en día no tiene sentido que te crees tu propio sistema de autenticación, máxime cuando Microsoft dispone de un sistema de membresía para autenticar usuarios basado en proveedores.

    Lo que yo haría en tu lugar es utilizar el modelo de membresía, creando las tablas / vistas / procedimientos almacenados en tu BD, luego agregando un par de entradas en tu fichero app.config, y un par de referencias. En estos artículos te muestro como hacerlo:

    Usando ASP.NET membrership en Winforms (1 / n):
    http://geeks.ms/blogs/lfranco/archive/2010/02/03/usando-asp-net-membrership-en-winforms-1-n.aspx
    http://geeks.ms/blogs/lfranco/archive/2010/02/04/usando-asp-net-membrership-en-winforms-2-n.aspx
    http://geeks.ms/blogs/lfranco/archive/2010/02/05/usando-asp-net-membrership-en-winforms-3-n.aspx

    Si haces esto, te ahorraràs un montón de trabajo y estarás usando un modelo estándar, que es mucho más serguro que cualquier sistema que podamos diseñar nosotros.

    Saludos,


    No olvides marcar la respuesta como correcta si te ha sido de utilidad :-)

    [MS-MVP-MCTS]

    Mi Perfil MVP en: https://mvp.support.microsoft.com/profile/Lluis
    NUG: http://andorradotnet.com
    Web: http://www.ordeeno.com
    Blog: http://msmvps.com/blogs/lfranco
    Geeks: http://geeks.ms/blogs/lfranco

    miércoles, 16 de junio de 2010 9:43
    Moderador