none
Como validar usuario y contraseña en C# con un procedimiento almacenado?

Respuestas

  • Suponiendo que tengas una tabla con la lista de usuarios y sus contraseñas (cosa que no es muy recomendable, por seguridad sería preferible tener un hash de las contraseñas), entonces simplemente escribe un procedimiento que haga (por ejemplo) algo así:

    If exists (select * from tablaUsuarios where usuario=@usuario and password=@password) return 1 else return 0;

    Despues lo invocas desde el codigo cliente y examinas el return_value a ver si es 1 o 0.

    Si no te funciona, ponnos lo que llevas hecho tanto de codigo cliente como de procedimiento almacenado, y lo miramos a ver cual puede ser el problema.

    jueves, 31 de mayo de 2018 13:34
    Moderador
  • Hola, saludos.

    puedes hacer algo como esto:

    CREATE PROCEDURE LoginValidation 
    @user Varchar(50),
    @password Varchar(150)
    AS
    BEGIN

    SET NOCOUNT ON;

    IF EXISTS (SELECT * FROM UsersTbl WHERE UserNick = @user AND UserPwd = @password)
    SELECT 1 IsValid
    ELSE
    SELECT 0 IsValid;

    END

    Aunque como te indican, no es recomendable tener la contraseña directamente en la tabla.


    jueves, 31 de mayo de 2018 15:07

Todas las respuestas

  • Suponiendo que tengas una tabla con la lista de usuarios y sus contraseñas (cosa que no es muy recomendable, por seguridad sería preferible tener un hash de las contraseñas), entonces simplemente escribe un procedimiento que haga (por ejemplo) algo así:

    If exists (select * from tablaUsuarios where usuario=@usuario and password=@password) return 1 else return 0;

    Despues lo invocas desde el codigo cliente y examinas el return_value a ver si es 1 o 0.

    Si no te funciona, ponnos lo que llevas hecho tanto de codigo cliente como de procedimiento almacenado, y lo miramos a ver cual puede ser el problema.

    jueves, 31 de mayo de 2018 13:34
    Moderador
  • Hola, saludos.

    puedes hacer algo como esto:

    CREATE PROCEDURE LoginValidation 
    @user Varchar(50),
    @password Varchar(150)
    AS
    BEGIN

    SET NOCOUNT ON;

    IF EXISTS (SELECT * FROM UsersTbl WHERE UserNick = @user AND UserPwd = @password)
    SELECT 1 IsValid
    ELSE
    SELECT 0 IsValid;

    END

    Aunque como te indican, no es recomendable tener la contraseña directamente en la tabla.


    jueves, 31 de mayo de 2018 15:07