Hey Peter,

2010/10/22 Peter Bex <peter....@xs4all.nl>

> On Fri, Oct 22, 2010 at 12:21:17AM +0400, Dmitriy Igrishin wrote:
> > Hey Tony,
> >
> > 2010/10/21 Tony Cebzanov <tony...@andrew.cmu.edu>
> >
> > > I have a web application with a Postgres backend.  In my initial
> > > prototype, I decided not to have a Postgres database user created for
> > > each application user, opting instead to use my own users table.
> > >
> > IMO, you are trying to reinvent the wheel. Although, you may do it just
> for
> > fun. :-)
>
> This is an interesting statement and I've wondered about this a couple
> of times before.  It seems very common practice (at least with web
> applications) to access a database from one user and do all
> authentication and authorization checking in the application.
>
> Is this a bad idea?  At first glance, it would indeed seem very
> logical to make an application user match a database user, but how do
> you do row-level permission checking?
>
> For instance, very often I've had the situation where a web app stores
> users, companies and <whatever>s.  The whatevers can be accessed only
> to either the user who created them, or when they are either company-wide
> assets or the user has company-wide privileges, can be accessed only
> when the whatever was made by a user from the same company.
>
> As far as I can see, this would imply either creating views on the
> <whatever> for every user (or company?), or manually crafting queries
> to do the same. The latter is of course what most webapps do, and it is
> a frequent cause of errors and, hence, vulnerabilities.
>
Yes, liberal use of views and rules are the best solutions in this case IMO.


>
> I'd love to hear some good advice on what has worked well for others.
>
> Cheers,
> Peter
> --
> http://sjamaan.ath.cx
> --
> "The process of preparing programs for a digital computer
>  is especially attractive, not only because it can be economically
>  and scientifically rewarding, but also because it can be an aesthetic
>  experience much like composing poetry or music."
>                                                        -- Donald Knuth
>



-- 
// Dmitriy.

Reply via email to