miércoles, 24 de septiembre de 2008

Validar login de usuario de base de datos Postgres

Tratando validar el ingreso a mi aplicación mediante un script sql en postgre, publico lo siguiente


CREATE OR REPLACE FUNCTION sp_validloginpostgres
(
username character varying,
userpass character varying
)
RETURNS refcursor AS
$BODY$
/****************
* Descripcion : Obtiene un registro de la tabla pg_shadow, permitiendo validar la existencia de
* inicio de sesion valido de la base de datos de postgres.
* Fecha_Crea : -*-
* Fecha_Mod : -*-
* Parametros : userName : nombre de usuario de la base de datos de postgres.
* userPass : contraseña de usuario de la base de datos de postgres.
* Autor : Hugo P. Flores J.
* Version : Desarrollo.
****************/
DECLARE
p_userName ALIAS FOR $1;
p_userPass ALIAS FOR $2;
cursorLogin refcursor;
BEGIN
OPEN cursorLogin FOR SELECT usename,
passwd
FROM pg_shadow
WHERE( usename = p_userName AND
passwd = ( 'md5' || md5( p_userPass || p_userName ) )
);
RETURN cursorLogin;
END;$BODY$
LANGUAGE 'plpgsql' VOLATILE
COST 100;
ALTER FUNCTION sp_validloginpostgres(character varying, character varying) OWNER TO postgres;