none
Validar Usuario en una aplicación para escritorio en C#

    Question

  • Hola a todos, estoy haciendo una aplicación de escritorio en c# pero no se como hacer para que al iniciar la aplicación se pida un usuario y contraseña y que estos sean validados contra una base de datos y dependiendo del tipo de usario me deje acceder a unos controles o secciones de mi aplicación.

    La información que encontrado al respecto solo se aplica para ASP.net pero no se como hacerlo para aplicaciones de escritorio.

    Agradezco mucho su colaboración.
    Wednesday, March 18, 2009 10:13 PM

Answers

  •  Jakos, pero la validació es como cualquier otra operacion la base de datos que este  usando. Según tu modelo de datos, tienes que tener una tabla usaurio, una tabla roles, y una tabla rolUsuario. Nada más. Lo siguiente es tener un método, que se llame validarUsuario. Y este metodo hace un EXIST(SELECT * FROM Usuario WHERE username=@user AND password=@pass)... ese valor lo devueles a tu app. Y si devuelve true es válido. Lógico que esto debes hacerlo en el formulario que cargue tu aplicación.

    Puedes guardar en una variable el Rol del usaurio. Y en cada form, de acuerdo al rol vas habilitando o deshabilitando ciertas features.

    Y como dijo Alex, la otra opción es usar el modelo de seguridad de ASP.NET.

    Saludos,
    Sergio Tarrillo - http://sergiot2.com/blog/
    Si la respuesta ha sido de utilidad marca la como respuesta correcta.
    Thursday, March 19, 2009 2:27 PM
  • La referencia es System.Web.dll, ahi esta el namespace System.Web.Security.

    Saludos,


    Sergio Tarrillo - http://sergiot2.com/blog/
    Si la respuesta ha sido de utilidad marca la como respuesta correcta.
    Thursday, April 02, 2009 5:29 AM

All replies

  • Hola,

    he encontrado estas dos entradas que espero que te sirvan:  


    Tienes que añadir una sección nueva (membership) en el fichero de configuración de la aplicación y añadir en el proyecto una referencia a System.Web.Security

    y validar con este código:

    if (Membership.ValidateUser("Nombre", "Password")) {
        Console.WriteLine("Correcto");
    } else {
        Console.WriteLine("Incorrecto");
    }

    y crear los usuarios mediante un código similar a este código:

    Membership.CreateUser( "Nombre", "Password", "email")


    Espero que te sean útiles estos ejemplos.

    Saludos,





    Thursday, March 19, 2009 8:19 AM
  •  Jakos, pero la validació es como cualquier otra operacion la base de datos que este  usando. Según tu modelo de datos, tienes que tener una tabla usaurio, una tabla roles, y una tabla rolUsuario. Nada más. Lo siguiente es tener un método, que se llame validarUsuario. Y este metodo hace un EXIST(SELECT * FROM Usuario WHERE username=@user AND password=@pass)... ese valor lo devueles a tu app. Y si devuelve true es válido. Lógico que esto debes hacerlo en el formulario que cargue tu aplicación.

    Puedes guardar en una variable el Rol del usaurio. Y en cada form, de acuerdo al rol vas habilitando o deshabilitando ciertas features.

    Y como dijo Alex, la otra opción es usar el modelo de seguridad de ASP.NET.

    Saludos,
    Sergio Tarrillo - http://sergiot2.com/blog/
    Si la respuesta ha sido de utilidad marca la como respuesta correcta.
    Thursday, March 19, 2009 2:27 PM
  • Primero que todo gracias por contestar, me incline mas por esta solución pues estoy trabajando con una base de datos de Mysql, y no estoy seguro si aplique la otra solución. He probado y si me ha permitido validar usuarios y de acuerdo al usuario mostrar o no controles en formularios.

    Me surge una inquietud y es: ¿Cómo hago para asociar esa validación a permisos de lectura, escritura y eliminación de registros?, pues lo anterior permite deshabilitar controles, pero aun se podría modificar la información de un registro en particular.

    Nuevamente gracias por la atención prestada a mi inquietud.

    Wednesday, April 01, 2009 7:58 PM
  • Gracias por contestar, pero no pude implementar esta solución pues como se trata de una aplicación de WindowForms no encontre la referencia System.Web.Security en el listado de las posibles a agregar, además estoy utilizando una base de datos de Mysql y no se si aplique el mismo procedimiento.

    De todas maneras agradezco tu colaboración y si sabes como agregar esa referencia o como hacer con ese tipo de base de datos te agradecería.

    Saludos,
    Wednesday, April 01, 2009 8:05 PM
  • La referencia es System.Web.dll, ahi esta el namespace System.Web.Security.

    Saludos,


    Sergio Tarrillo - http://sergiot2.com/blog/
    Si la respuesta ha sido de utilidad marca la como respuesta correcta.
    Thursday, April 02, 2009 5:29 AM
  • pero esa solucion q das es solo para la base datos SQL SERVER y como haria si trabajo con la base datos  MYSQL como crearia mi rol de usuarios restringir los menus ,formularios ,botones comandos etc
    Hector Astocaza
    Friday, July 17, 2009 11:13 PM
  • (no soy experto, pero ahí te va mi solución) Lo que yo hago es crear tabla de usuario, roles y usuario roles como te lo proponen, luego de pasar por el la validación del usuario comparando con una conexión normal a la base de datos en los formularios lo que hago es cargar el permiso que el usuario tiene para ese formulario y digo lo siguiente, ejemplo si tengo estas rutinas

     

    en el load cargo el rol del formulario, ejm

    ...

    rol = new rol(this.name);

    ...

     

    private void Registrar()

    {

        if (!rol.registrar) { messegebox.show("Usuario no permite registrar"); return;}  

        ...

    }

    private void Borrar()

    {

     

        if (!rol.registrar) { messegebox.show("Usuario no permite borrar"); return;}  

        ...


     

    }


    jg99_1999
    Monday, December 19, 2011 7:44 PM
  • Hola,

    Este es mi aporte al hillo, espero les sea útil:

    Como usar Membership Provider para ASP.NET en aplicaciones WINFORM

    saludos



    Jose Mendez.
    Blog
    If a post answers your question, please click "Mark As Answer" on that post and "Mark as Helpful".
    Si un Post reponde a tu pregunta, por favor "Marcala como Respondida" y "Vota como útil".

    Tuesday, June 05, 2012 8:54 PM
  • Buenas Sergio,

    Tengo un problema similar tengo una aplicación en la que el usuario admin tiene acceso a todos los modulos de mi aplicación ( almacen compras ventas ) pero el tiene la posibilidad de crear otros usuarios (usuario que este encargado del almacen ) y darles permisos y que al momento de loguearse les deben aparecer deshabilitadas las opciones a las que no tengan acceso me podrias ayudar porfavor !

    Wednesday, February 05, 2014 4:46 AM