Здравствуйте!
Я работаю с PostgreSQL средствами UniDAC. Клиентское приложение напрямую по сети подключается к PosgreSQL. Разграничение прав доступа пользователей должно производиться не только на уровне объектов, но и конкретных данных. Т.е. эту задачу необходимо решать не средствами самого PostgreSQL, а реализуя свои механизмы контроля. Но если приложение будет пропатчено/взломано, то пользователь сможет получить любые привилегии. Это все равно, что решать задачу проверки паролей на сайте средствами JavaScript. По аналогии с web здесь тоже более правильно было бы решать задачу на стороне сервера. Но в этом случае необходимо, чтобы подключение клиентского приложения производилось не напрямую к PostgreSQL, а к серверному приложению, которое будет выступать в роли посредника между клиентом и СУБД. Существуют ли какие-то готовые компоненты/подходы, которые могут упростить решение этой задачи или нужно самостоятельно с нуля изобретать такие средства?
----------
Google Translate (Sorry):
I work with PostgreSQL means UniDAC. The client application connects directly to the network PosgreSQL. Differentiation of access rights of users should be done not only at the level of objects, but also specific data. Those. this problem should be solved not by means of PostgreSQL, something realizing its control mechanisms. But if the application is patched / hacked, then the user will be able to receive any benefits. It's like that to solve the problem of password checking on the site JavaScript tools. By analogy with the web is also more correct to solve the problem on the server side. But in this case it is necessary that the client application connection is not directly to PostgreSQL, something to a server application, which will act as an intermediary between the client and the database. Are there any ready-made components / approaches that can simplify this task by yourself or you need to invent from scratch such funds?
Differentiation of access rights / Разграничение прав доступа
Re: Differentiation of access rights / Разграничение прав доступа
For this purpose, you can use capabilities provided by the PostgreSQL DBMS.