Re: Como obtener grupos para usuarios restringidos

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.

In response to

Browse pgsql-es-ayuda by date

  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