Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Asignar permisos a usuarios (https://www.clubdelphi.com/foros/showthread.php?t=47224)

sitrico 22-08-2007 03:29:53

Asignar permisos a usuarios
 
Que permisos debo asignar para que CUALQUIER usuario pueda ejecutar el Siguiente procedimiento:

Código SQL [-]
SET TERM ^ ;

CREATE PROCEDURE LEERDATOSUSUARIO 
returns (
    idusuario integer,
    usuario char(40),
    cedula char(10),
    activo integer)
as
begin
  FOR SELECT idusuario, Usuario, cedula, activo FROM dg_usuarios
      Where login = current_user Into :idusuario, :usuario, :cedula, :activo do
  suspend;
end^

SET TERM ; ^

GRANT SELECT ON DG_USUARIOS TO PROCEDURE LEERDATOSUSUARIO;

GRANT EXECUTE ON PROCEDURE LEERDATOSUSUARIO TO "PUBLIC";
GRANT EXECUTE ON PROCEDURE LEERDATOSUSUARIO TO SYSDBA;

La idea es que al conectarse cualquier usuario (actual o futuro) pueda ver si está activo ó no antes de permitir la entrada. :rolleyes:

Preferiría no dar acceso publico a la tabla DG_USUARIOS :cool:

Código SQL [-]
CREATE TABLE DG_USUARIOS (
    IDUSUARIO       INTEGER NOT NULL,
    USUARIO         CHAR(40),
    CEDULA          CHAR(10),
    LOGIN           CHAR(15),
    IDROL           SMALLINT NOT NULL,
    IDCARGO         SMALLINT,
    IDESPECIALIDAD  SMALLINT,
    ACTIVO          SMALLINT DEFAULT 0 NOT NULL
);

/* Privileges of procedures */
GRANT SELECT ON DG_USUARIOS TO LEERDATOSUSUARIO;

Con esta configuración cuando ingreso como usuario "normal" (no SYSDBA) no me deja leer los datos. :(

rastafarey 23-08-2007 20:26:58

Resp
 
Dale los permisos a los usuarios


La franja horaria es GMT +2. Ahora son las 22:39:31.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi