|
|
|
Как авторизовать по ролям в БД в WEB-приложении?
|
|||
|---|---|---|---|
|
#18+
Имеем вэб-приложение которое подключается к PG при помощи выделенной роли WebUser. Создавать коннект с паролем и именем пользователя - не решение проблемы - это очень сильно тормозит работу - т.к. пул соединений используется неэффективно - т.к. соединение не постоянное, а запросил и отвалил. Необходимо авторизовать пользователей в БД по ихнему имени и паролю в функции в PG и там уже от их имени выполнять запросы как можно реализовать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2015, 21:17 |
|
||
|
Как авторизовать по ролям в БД в WEB-приложении?
|
|||
|---|---|---|---|
|
#18+
spкак можно реализовать Как вы хотите никак. А так разграничивайте доступ на сервере приложений, а не на сервере БД. ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2015, 06:42 |
|
||
|
Как авторизовать по ролям в БД в WEB-приложении?
|
|||
|---|---|---|---|
|
#18+
spкак можно реализовать Заведи таблицу пользователей с логинами и паролями. Между сервером бд и клиентом поставь сервис который будет проверять пользователя на наличие в базе. Сервис этот может работать от твоего WebUser. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2015, 08:13 |
|
||
|
Как авторизовать по ролям в БД в WEB-приложении?
|
|||
|---|---|---|---|
|
#18+
mad_nazgulspкак можно реализовать Как вы хотите никак. А так разграничивайте доступ на сервере приложений, а не на сервере БД. ;-) осторожно интересуюсь: 1. что мешает дону "разграничивать доступ" хранимками ? или у дона недержание хранимок ? 2. зачем вы используете непарные левые скобки ? у вас проблемы с правыми ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2015, 08:45 |
|
||
|
Как авторизовать по ролям в БД в WEB-приложении?
|
|||
|---|---|---|---|
|
#18+
qwwqосторожно интересуюсь: 1. что мешает дону "разграничивать доступ" хранимками ? или у дона недержание хранимок ? Будет то же самое, что я и сказал (Если исходит из постановки задачи ТС). Все равно нужно будет открывать соединение с пользователь с максимальными правами. Поэтому, что писать хранимки, что выполнять запросы на сервере приложений это будет одно и то же. Проблему с разграничением доступа это не решит, в том виде. в котором описал ТС. qwwq2. зачем вы используете непарные левые скобки ? у вас проблемы с правыми ? Вас беспокоят скобочки? Вы хотите поговорить об этом? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2015, 06:30 |
|
||
|
Как авторизовать по ролям в БД в WEB-приложении?
|
|||
|---|---|---|---|
|
#18+
sp, Месье знает толк в извращениях. Используйте на свой страх и риск: 1. Даете роли WebUser superuser'а, процедуры создаете с владельцем WebUser. 2. Передаете в каждую процедуру параметрами логин и пароль. 3. Внутри процедуры делаете проверку через системные таблицы пароля пользователя. 4. После проверки меняете контекст пользователя через SET SESSION AUTHORIZATION на нужного, в конце сбрасываете его через RESET SESSION AUTHORIZATION. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2015, 15:04 |
|
||
|
Как авторизовать по ролям в БД в WEB-приложении?
|
|||
|---|---|---|---|
|
#18+
mad_nazgulВсе равно нужно будет открывать соединение с пользователь с максимальными правами. это неверное утверждение верное звучало бы так "с максимальными правами на исполнение всех хранимок, которые могут быть доступны [разным] пользователям WebUser" если работ с таблицами [и\или обычными вьюхами] напрямую нет, а только через [set returning в т.ч.] хранимками. Или вьюхами, проверяющими (фильтрующими) права. в тексте же самих хранимок проверять права по параметру "фейковый аккаунт" никто не запретит. и фильтровать вывод да и само исполнение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2015, 15:33 |
|
||
|
Как авторизовать по ролям в БД в WEB-приложении?
|
|||
|---|---|---|---|
|
#18+
А почему не работает такой вариант? 1) Авторизовать пользователя с логином-паролем СУБД 2) Доступ к данным через представления-функции 3) У функций указать, что "выполнять от имени создателя", где создатель - учетка с полными правами 4) У обычных пользователей доступ к таблицам убрать. В этом случае у подключающегося пользователя не будет доступа к таблицам кроме как через представления и функуции. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2015, 06:41 |
|
||
|
Как авторизовать по ролям в БД в WEB-приложении?
|
|||
|---|---|---|---|
|
#18+
Кстати вот мы так и сделали в своем проекте, и все отлично работает! И очень удобно работать с view-ками, только вот есть проблемы с производительностью view, как проект разрастется, хотя тут смотря что будет во view YurikGLА почему не работает такой вариант? 1) Авторизовать пользователя с логином-паролем СУБД 2) Доступ к данным через представления-функции 3) У функций указать, что "выполнять от имени создателя", где создатель - учетка с полными правами 4) У обычных пользователей доступ к таблицам убрать. В этом случае у подключающегося пользователя не будет доступа к таблицам кроме как через представления и функуции. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2015, 13:26 |
|
||
|
Как авторизовать по ролям в БД в WEB-приложении?
|
|||
|---|---|---|---|
|
#18+
westvovik, жизнерадостных птенцов просят перечитать вводный пост ТС , чтобы наконец осознать, насколько они не по адресу <......,...> ((сс)лавров)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2015, 13:43 |
|
||
|
Как авторизовать по ролям в БД в WEB-приложении?
|
|||
|---|---|---|---|
|
#18+
я рад за некоторых коллег, которые успешно решили свои проблемы, но у нас задача стоит так: - пользователи должны работать в БД под своими учетками при непосредственном доступе внутри сети, используя данные для анализа из таблиц в различных инструментах типа Excel и другие - пользователи должны работать с вэб-приложением (но для вэб приложения критичным местом является количество количество соединений в пуле и создание соединений для каждого пользователя является критичным и не приемлемым из соображений производительности приложения) у меня мысль была следующая: - создаем прокси-функцию с правами достойного пользователя - в ней находим пользователя и пароль и сверяем их (проблема осталась как из пароля юзера создать то что лежит где-то в БД и найдя то что осталось от пароля в БД сравнить) - в случае успеха меняем контекст вызова на данного юзера, выполняем запрос и возвращаем результат ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2015, 20:31 |
|
||
|
Как авторизовать по ролям в БД в WEB-приложении?
|
|||
|---|---|---|---|
|
#18+
spя рад за некоторых коллег, которые успешно решили свои проблемы, но у нас задача стоит так: - пользователи должны работать в БД под своими учетками при непосредственном доступе внутри сети, используя данные для анализа из таблиц в различных инструментах типа Excel и другие - пользователи должны работать с вэб-приложением (но для вэб приложения критичным местом является количество количество соединений в пуле и создание соединений для каждого пользователя является критичным и не приемлемым из соображений производительности приложения) Самое простое решение это разграничение прав пользователей на уровне сервера приложения, а не БД. Можно и на БД ч/з сервер приложения. Я видел такое решение: Браузер - AD - SharePoint - MS SQL. Т.е. как-то через SharePoint креденшелы передовались в MS SQL. Как конкретно это делается, надо искать в MSDN. Это видел 4 года назад. Но это для линейки продуктов MS. Так что выбор за вами ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2015, 12:16 |
|
||
|
|

start [/forum/topic.php?fid=53&fpage=102&tid=1997662]: |
0ms |
get settings: |
7ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
57ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
61ms |
get tp. blocked users: |
1ms |
| others: | 214ms |
| total: | 373ms |

| 0 / 0 |
