Search Postgresql Archives
Re: How to allow users to log on only from my application not from pgadmin
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Actually in theory it is possible to completely secure a database by
putting all your business logic in stored procedures/functions and
allowing only raw database access to administrators. Plenty of people
do this. In fact if I were designing something that had lots of users
who had relatively simple and repetitive interactions with my database,
for instance a financial banking system, I would probably design it that
way.
Actually I don't know a lot about banking systems. I'm just guessing
that the types of stuff I do at ATMs and online at my bank are not as
complex as ERP and billing systems that I design for some of my
customers. Banking systems I would think have problems of massive
amounts of users, replication, synchronization, fault tolerance, and
security which are different than problems of pure business logic.
But anyway, you can hide any table you want completely from any role in
any applications with proper use of the Grant statement. You then meter
your access through your procedures. This, again, is an issue of where
you want your business logic to reside, in your client application or on
the server. As I have said in a previous thread, I prefer to code
client applications in languages I'm very familiar with like C++ and
Java. However, I wouldn't go as far as to say that's the "right" way to
do it.
1. Each user has a postgresql role in a way that I mentioned in a
previous thread concerning the limit on number of users. You'd also
have to secure your database via stored procedures and individual
table role based access.
This solution won't help the initial problem of users being able to
connect with programs other then the original posters application. If
the user has a role in Postgres and they know the username/password -
which surely they will - then they will be able to connect using
pgAdminIII, M$ Access, M$ Excel, any other program that can open an
ODBC connection to look at and update a db which would then bypass any
business rules that have been built into the main application.
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]
[Postgresql Jobs]
[Postgresql Admin]
[Postgresql Performance]
[Linux Clusters]
[PHP Home]
[PHP on Windows]
[Kernel Newbies]
[PHP Classes]
[PHP Books]
[PHP Databases]
[Postgresql & PHP]
[Yosemite]