Re: [Pgsql-ayuda] ideas para la control de usuarios

From: Alvaro Herrera <alvherre(at)dcc(dot)uchile(dot)cl>
To: Fernando San Martín W(dot) <snmartin(at)galilea(dot)cl>
Cc: pgsql-ayuda(at)tlali(dot)iztacala(dot)unam(dot)mx
Subject: Re: [Pgsql-ayuda] ideas para la control de usuarios
Date: 2004-01-13 00:11:22
Message-ID: 20040113001122.GA31858@dcc.uchile.cl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

On Mon, Jan 12, 2004 at 04:00:08PM +0100, Fernando San Martín W. wrote:

Fernando,

> Primero felicidades a todos y que este año sea mejor que el que pasó.

Igual para ti, para los tuyos y para todos tus proyectos.

[...]

> Para esto tengo pensado usar la tabla pg_user, ya que en ella tengo el
> login y el id del usuario, ademas agregar la tabla "funciones" en las
> cuales esten numerados todos los privilegios y una tercera tabla que
> haga la relacion entre las otras dos "pg_user_funcion", además de
> manejar los usuarios con grant para que no puedan alterar las tablas o
> acceder a ellas sin privilegios. Comento esto por si alguno tiene alguna
> idea más cristiana de como implementar esto, me interesaria discutirlo.

De partida no existe ninguna tabla pg_user ... esta es una vista sobre
pg_shadow. OTOH, en realidad no puedes poner llaves foráneas a
catálogos del sistema, porque en éstos no se ejecutan acciones de
disparadores (a.k.a. triggers; si lo hicieran, sería mucho más lento);
en Postgres las llaves foráneas se implementan con disparadores.

Sospecho que tendrás que hacer una tabla adicional con usuarios para que
esto para que esto pueda verdaderamente funcionar. Ahora, si quieres
que el código Pyton sea realmente limpio vas a necesitar una función
para hacer la autentificación en base a (usuario, accion), y
posiblemente debas esconder todas las tablas pasándolas a otro usuario,
y dar acceso al perraje a través de vistas que utilicen la función de
autentificación en la cláusula de calificación (o algo por el estilo).

Creo que quedó suficientemente confuso como para que no se note que no
he pensado demasiado en el tema ... ? ;-)

--
Alvaro Herrera (<alvherre[a]dcc.uchile.cl>)
Voy a acabar con todos los humanos / con los humanos yo acabaré
voy a acabar con todos / con todos los humanos acabaré (Bender)

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Adriana Pérez 2004-01-13 03:04:48 [Pgsql-ayuda] Uso de COUNT
Previous Message Manuel Rábade García 2004-01-12 23:21:52 Re: [Pgsql-ayuda] Consulta