Skip site navigation (1) Skip section navigation (2)

Como obtener grupos para usuarios restringidos

From: Alejandro Gasca <agasca(at)yahoo(dot)com>
To: ayuda postgres <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Como obtener grupos para usuarios restringidos
Date: 2006-10-26 21:55:43
Message-ID: 20061026215543.38201.qmail@web34306.mail.mud.yahoo.com (view raw or flat)
Thread:
Lists: pgsql-es-ayuda
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. 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/ 

Responses

pgsql-es-ayuda by date

Next:From: Jorge A. Barzola RosadioDate: 2006-10-26 22:09:46
Subject: PGAdmin
Previous:From: Alvaro HerreraDate: 2006-10-26 20:56:31
Subject: Re: [Fwd: Re: como almacenar una imagen en una tabla y no morir

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group