From: | "Linder Poclaba" <linder(dot)poclaba(at)gmail(dot)com> |
---|---|
To: | "Alejandro Gasca" <agasca(at)yahoo(dot)com> |
Cc: | "ayuda postgres" <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: Como obtener grupos para usuarios restringidos |
Date: | 2006-10-27 00:00:55 |
Message-ID: | 5aa69e1b0610261700o166bfccbj6cdf087fe4fc791d@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
El día 26/10/06, Alejandro Gasca <agasca(at)yahoo(dot)com> escribió:
>
> Saludos.
>
> Estoy tratando de obtener los grupos a los que pertenece un usuario. He
> visto que con pg_role y pg_grup se puede obtener esto. El problema es
> con usuarios a los que pienso no darles acceso a los catalogos de
> sistema.
>
> Se me ocurrio hace una función parecida a esto:
>
> CREATE OR REPLACE FUNCTION catalogos.dame_grupo_usuario(que_usuario
> text)
> RETURNS text AS
> $BODY$Declare
> grupo_usuario text;
> Begin
>
> select into grupo_usuario pg_group.groname from pg_group, pg_roles
> where pg_roles.oid = ANY (pg_group.grolist) AND
> pg_roles.rolname =
> que_usuario;
>
> return grupo_usuario;
>
> End;$BODY$
> LANGUAGE 'plpgsql' VOLATILE SECURITY DEFINER;
>
> Es un ejemplo, ya que falta adaptar para que devuelva todos los grupos.
>
> Bueno, el problema es que a esta funcion se le puede pasar cualquier
> nombre de usuario, y la idea es que solo pase el nombre del usuario que
> esta llamandola
Hola alejandro, no estoy muy seguro pero porque no defines tu función para
que no reciba parametros y utilizas "current_user" en la condición:
where pg_roles.oid = ANY (pg_group.grolist) AND pg_roles.rolname =
current_user;
. si por ejemplo cambio algo la funcion y le pongo
> where pg_roles.oid = ANY (pg_group.grolist) AND pg_roles.rolname = user
>
> me devuelve siempre el grupo del usuario al que esta aduen~ada...
> y pues no se si exista una variable parecida a 'user' pero que regrese
> solo los grupos a los que esta adscito 'user'.
>
> De antemano, gracias.
>
> Alejandro
>
> __________________________________________________
> Correo Yahoo!
> Espacio para todos tus mensajes, antivirus y antispam ¡gratis!
> Regístrate ya - http://correo.espanol.yahoo.com/
>
> ---------------------------(fin del mensaje)---------------------------
> TIP 10: visita nuestro canal de IRC #postgresql-es en irc.freenode.net
>
--
Linder Poclaba Lázaro.
Desarrollador Key Optimal Solutions - KEYOS.
Usa Software Libre y obtiene tú libertad.
From | Date | Subject | |
---|---|---|---|
Next Message | Carlos Alberto Márquez Rey | 2006-10-27 00:04:59 | Re: Implementación de Tabla tipo MAESTRO - DETALLE |
Previous Message | Mario Gonzalez ( mario__ ) | 2006-10-26 23:59:22 | Re: Backup |