Re: Advice needed on application/database authentication/authorization/auditing model - Mailing list pgsql-general

From Dmitriy Igrishin
Subject Re: Advice needed on application/database authentication/authorization/auditing model
Date
Msg-id AANLkTik6hGquMvXiONzzpOweR7NcWJ-3P_AknSBb_mju@mail.gmail.com
Whole thread Raw
In response to Re: Advice needed on application/database authentication/authorization/auditing model  (Tony Cebzanov <tonyceb@andrew.cmu.edu>)
Responses Re: Advice needed on application/database authentication/authorization/auditing model
List pgsql-general
Hey Tony,

2010/10/27 Tony Cebzanov <tonyceb@andrew.cmu.edu>
On 10/23/10 11:01 AM, Craig Ringer wrote:
> Yep. As for not explicitly mentioning "lower" roles when granting a
> higher role (ie "admin" isn't also a "user") - role inheritance.

I knew about role inheritance, I just didn't know about the
pg_has_role() function for determining if a user has a role.  That's
helpful, but I really don't want to be hitting the database with a
pg_has_role() call for every time I want to check if a user should have
access to a certain page or function in my application.
Why not? Performance? It's just one function call.

Normally, when the user logs in, I'd cache their user info, and any
roles they have, either directly or indirectly.  But how can I do this
if I'm not directly making administrators members of the other groups
they inherit the rights of?  In other words, is there a convenience
function or view I can use to get a list of all roles the user has
access to, both directly or indirectly?


--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general



--
// Dmitriy.


pgsql-general by date:

Previous
From: Diego Schulz
Date:
Subject: Re: Why Select Count(*) from table - took over 20 minutes?
Next
From: Diego Schulz
Date:
Subject: Re: Why Select Count(*) from table - took over 20 minutes?