powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / разграничение прав доступа
10 сообщений из 10, страница 1 из 1
разграничение прав доступа
    #34512107
Фотография aov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
посоветуйте плз как лучше сделать: руками их разруливать - в своих таблицах и функциях - или пользовать постгресовские? я раньше сам это делал - т.к. это проще. да и требования были мягче чем сейчас. а сейчас проект оч амбициозный - и будут там повышенные требования к секурити и т.п. как это по науке делается - я не оч в курсе. не охота времени много на учёбу убивать - не зная надо ли оно мне заранее. оч общее представление имею - но не представляю как увязать например права на таблицу/функцию с бизнеслогикой проекта. ну и сам то я с этим разберусь - посоветуйте токо надо ли оно, можно ли так сделать что-бы всё красиво было и чётко :). тоисть стоит ли вообще таким способом это решать - или нет?
раньше я делал что клиентское приложение под одним постгресовским юзером работало - и там свои пользователи были в таблице своей. ну и доступы соответственно свои. ну и права доступа то там не к объектам бд - а к функциям программы - т.е. на прямую на бизнес-логику ориентация была. а можно ли сразу как-то это средствами посгреса делать - без этого рукоделия лепного?
Тоисть так, чтобы одним способом и доступ к объектам бд разрулить - и с бизнес-логикой увязать.
или токо можно средствами постгреса доступ разруливать к объектам бд - а к функциям программы руками?
вобщем посоветуйте пожалуйста как это по науке делается. или ткните пальцем в книгу/статью/мануал.
спасибо.
...
Рейтинг: 0 / 0
разграничение прав доступа
    #34514000
Фотография aov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
up :)
ну мне в принципе и не срочно - но токо это . . . нетерпится. типа это - жаждой знаний придавило - и не отпускает :)
...
Рейтинг: 0 / 0
разграничение прав доступа
    #34514480
Kivals
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ИМХО: считаю что нужно пользоваться встроенными правами доступа, в своем проекте так и буду делать. Но! заведу отдельную таблицу с дополнительными правами (которых нет в стандарте): например редактирование записи в таблице, созданной другим пользователем; или созданной в закрытом (условно) периоде и пр.
Увязка бизнес-логики - через права на хранимые функции: пользователю даются права на запуск функции, а сама функция создается как запускаемая с правами создателя (SECURITY DEFINER)
...
Рейтинг: 0 / 0
разграничение прав доступа
    #34514604
Фотография aov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
т.е. функция при запуске проверяет наличие у пользователя прав на выполнение каких-то действий - и в зависимости от этого работает или ругается?
ну у меня тоже такие были подобные мысли.
а нет в постгресе чего-то наподобие каких-то бизнес-правил специальных? вот в мсскл там чёто такое было - аппликейшнроулз какие-то. я особо не вникал в них - но вроде как это оно. тут нет чего-то подобного? я что-то не нашол.
ну и ещё беспокоит такой вопрос: желательно, чтобы программа не ругалась при нажатии на кнопку, на которую текущий юзер не имеет прав - а просто кнопка не активна чтобы была. ну и на всякий случай и чтобы ругалась - если какой-то попадётся хитроухий.

но в интерфейсе клиентского приложения надо наверное чтобы не оч страшно выглядело вто сделать так: нужно наверное насоздавать ролей без логина - и распределить их права - у каждой большой набор будет. а потом в клиентском приложении выводить список этих ролей как доступы к бизнес-функциям - и на них уже пользователям права раздавать - чтобы не на отдельные там таблицы/хранимки. как-то так.

ну что-то вроде бы вырисовывается.

и ещё такой момент: может вообще сделать всё руками своё - таблицы с правами и пользователями. а потом например триггерами отслеживать изменения в них - и раздавать права на объекты бд . . . как-то так. токо тут такой момент смущает: если кто-то мимо этой системы какие-то права править будет - то всё громко упадёт и концы трудно будет найти.

надо думать дальше. предлагая всем интересующимся высказывать подобные мысли - какие бы сумбурные они ни были - а потом из них чёто уже осмысленное сложить.

а вообще статью бы какую-то на эту тему - хоть на буржуйском. неужели ещё такого не изобрёл никто велосипеда :).
...
Рейтинг: 0 / 0
разграничение прав доступа
    #34514649
Kivals
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я вроде как новичок в Постгре (а в мускль вообще глубоко не лазил), так что не могу ответить точно, но судя по названию - аппликейшнроулз наверное это аналог групроулз. Не думаю, что правильно будет все делать через триггеры.
Для обычных пользователей системы вобще прямой доступ к таблицам должен быть закрыт (ИМХО естественно) - можно запускать только хранимые процедуры и всякие view для просмотра (естественно дальше тоже делится по правам). Для каких-то супер-пупер аналитиков, которые еще сами не знают чего хотят - дополнительно открыт select на все таблицы кроме служебных. И только админам разрешен прямой доступ к таблицам.
Про клиентское ПО: одна из хранимых процедур (блин - не могу привыкнуть называть их функциями) возвращает тебе список разрешений для текущего окна интерфейса. Используешь ее при открытии (активации) окна и рисуешь как нужно: CheckUserRight(RightName or ArrayOfRightsNames):Bool or ArrayOfBool. Естественно проверяешь это и при попытке доступа в неразрешенную область...
Да, кстати - само управление правами/ролями (как стандартными, так и в своей таблице) тоже лучше хранимой процедурой сделать
...
Рейтинг: 0 / 0
разграничение прав доступа
    #34515082
Shweik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гмм странно поиск по форуму работает и рулит но от этого никому не легче - ни тем кто
задает n+1 разжеванный и переваренный вопрос ни тем кто пытается ответить...
Милостидари ну дайвайте напряжемся и посмотрим чего может а чего не всостоянии сей прожект

Небольшой оффтоп 2aov есть у меня предложение пиши на мыло в профиле чего тебе хочется написать ну и сколько не жалко заплатить.
Может и договоримся нет - посоветую людей которые нарисуют арм как положенно, правда они большие любители огненой пчтычки фоеникса даи загружены поболее чем я - но поверь у ни есть аффигенный опыт создания и з нифига вполне живучей системы ;)
Короче коли интересно - пиши. Кстати ты изСтольного Города?
...
Рейтинг: 0 / 0
разграничение прав доступа
    #34517225
w
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
w
Гость
aov

Оставляйте таблицу с пользователями, просто будете делать дополнительную проверку и в зависимости от того, под каким пользователем происходит вход в систему, делайте подключение к базе уже под соответствующем постгресовском пользователем у которого, права будут зашиты на уровне базы.
Что касается прав, средствами постгреса, смотрите в документации Database Roles
...
Рейтинг: 0 / 0
разграничение прав доступа
    #34517275
Фотография aov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Database Roles тщательно изучил - перевариваю и думаю как лучше увязать это дело с бизнес-логикой - которую полностью не получится свести к правам на объекты бд.
вот ссылка на отот проект заинтересовала - пока не смотрел - и толком ещё ничего не понял. надо полистать - вступление заинтересовало - похоже на тот велосипед, который я собирался изобретать :).
...
Рейтинг: 0 / 0
разграничение прав доступа
    #34517508
Фотография aov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shweikдайвайте напряжемся и посмотрим чего может а чего не всостоянии сей прожект

на этот вопрос я ответить не смог :). я под виндой работаю - только. ничего не понял. с си тоже не оч знаком - токо с си шарп. отети там всякие хидеры и инклюды для меня тёмный лес - хотя синтаксис языка и не оч отличается - но объектная модель оч отличается.

ничего короче не понял :( как-то возможно эту технику под виндой посмотреть?
...
Рейтинг: 0 / 0
разграничение прав доступа
    #34520704
Shweik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
* Operating System: POSIX
* Programming Language: C, PL/pgSQL

Впрочем собирается и устанавливается (под FreeBSD+PG814 ) с пол-пинка.
Тут все просто - есть сишные ХП которые контролируют доступ так что даже всемогущий postgres видит
в демо-базе только структуру пустых вьюшек и сделать них неможет.
Причем тут объектная модель и С# Под виндой IMHO меньшее зло это http://www.mingw.org/
Внимание - подсказка : PG под Виндовоз который вы скачали и его сишные contribs собраны именно этим компиллятором
Но я сомневаюсь что вы соберете Veil этим пакетом ( очевидно что там придется рихтовать файлики make указывать пути к постгресовым икнлудам и хеадерам а возможно и что-то патчить в сорцах) - ну а это как вы сказали - темный лес. Так что ждите как это заведено в мире Windows пока это кто-то сделает за вас.


------------------------------------------------------------------------------------------------------------------------------------------

NATIVE OS FOR POSTGRESQL - POSIX!!
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / разграничение прав доступа
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]