powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Модель прав пользователей
20 сообщений из 20, страница 1 из 1
Модель прав пользователей
    #35463387
vovan_z
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Коллеги, у кого нить есть готовая модель ведения пользователей, груп пользователей и разграничение прав на объекты ПО(Права на приложение,оконо, вкладки, колонки ) между ползьзователями и группами. Пришлите пожалуйста, а то не хочется изобретать велосипед.
спасибо
...
Рейтинг: 0 / 0
Модель прав пользователей
    #35463585
ln123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Посмотрите в сторону csrc.nist.gov/rbac/
ну и собственно гугл по аббревиатуре rbac в помощь.
...
Рейтинг: 0 / 0
Модель прав пользователей
    #35463674
vovan_z
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А на русском нет ничего?а то там не очень понятно
...
Рейтинг: 0 / 0
Модель прав пользователей
    #35463950
_мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vovan_zПрава на приложение,оконо, вкладки, колонки
+ данные во всем своем разнообразии с точностью до строк
vovan_zне хочется изобретать велосипед
Придется :)
...
Рейтинг: 0 / 0
Модель прав пользователей
    #35464841
Фотография Сергей Васкецов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_модданные во всем своем разнообразии с точностью до строк
Глобальное позаписное разграничение прав доступа (а нормальное оно может быть только в том случае, если автор/владелец любой записи в любой таблице сам может в рамках своих полномочий раздавать полномочия на эту самую запись, ей дочерние и т.п.) вообще мало где есть. Это, во-первых, совсем не "велосипед", а, во-вторых, выходит за рамки заявленного автором "разграничения прав на объекты ПО". Так что я бы не стал пугать автора недвусмысленными намеками "с точностью до строк".
...
Рейтинг: 0 / 0
Модель прав пользователей
    #35464924
474
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей Васкецов _модданные во всем своем разнообразии с точностью до строк
Глобальное позаписное разграничение прав доступа (а нормальное оно может быть только в том случае, если автор/владелец любой записи в любой таблице сам может в рамках своих полномочий раздавать полномочия на эту самую запись, ей дочерние и т.п.) вообще мало где есть.
Именно в такой реализации (пользователь права раздает) иало где есть не только потому, что реализовать тяжело, а потому что пользователю своей работы хватает. А права раздавать это дополнительные затраты времени, да плюс еще же и думать(!) нужно. Нафиг-нафиг! :)
...
Рейтинг: 0 / 0
Модель прав пользователей
    #35464998
Фотография Сергей Васкецов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
474А права раздавать это дополнительные затраты времени, да плюс еще же и думать(!) нужно. Нафиг-нафиг! :)
Традиционная концепция автоматической установки значения маркера безопасности по умолчанию с возможностью при необходимости подумать и (в хитрозаумных случаях, опять же в рамках полномочий) указать другие полномочия на запись спасает от пользователей, не желающих думать. Многие юзеры у нас даже не знают о такой возможности, даже, наверное, большинство :) Но кровушки это попило, что верно, то верно.
...
Рейтинг: 0 / 0
Модель прав пользователей
    #35465040
vovan_z
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
474
Именно в такой реализации (пользователь права раздает) иало где есть не только потому, что реализовать тяжело, а потому что пользователю своей работы хватает. А права раздавать это дополнительные затраты времени, да плюс еще же и думать(!) нужно. Нафиг-нафиг! :)
НЕ ПОНЯТНО!Объясните по другому.

Я пранирую что все пользователи подключаются к базе по одному пользователю базы, а разгриничение прав происходит только в интрефесе программы
вот такая получается схема из трех таблиц:
Пользователи(users)
user_id (PK)
user_par_id (Для организации дерева, что бы если много пользователей их можно распихать по папкам, Ну и сделаю папку группы, в ней будут пользователи группы)
pod_id (поразделение в котором раб пользователь)
username
password

Наследование прав пользователей(пользователи в группах)(user_group)
user_group_id (PK)
user_par (FK на users.user_id)
user_child (FK на users.user_id)

права пользователей(rigths)
rigths_id (PK)
rights_cod (Символьный код права(объек в программе): наименование окна,наименование таблицы, наименование таблицы:имя поля)
rights_type (тип права, на один объект может быть много прав(чтение,запись..)!Не знаю как лучше может сделать для каждого права одну колонку?)
yes (0,1) (Разрешение права)

Так мы можем сделать права на все обекты в программе.
а как сделать вот например оргнизовать хранение прав фитра по строкам?
вот наример есть у меня справочник внутренних фирм, и есть документы, в каждый документ прописана фирма, и вот мне надо каким то пользователям запретить видеть документы каких то фирм(и другие таблицы программе где есть эти фирмы)
...
Рейтинг: 0 / 0
Модель прав пользователей
    #35465127
vovan_z
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
поправка
в правах пользователей(rigths)
еще есть user_id
...
Рейтинг: 0 / 0
Модель прав пользователей
    #35465197
Фотография Сергей Васкецов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vovan_zНаследование прав пользователей(пользователи в группах)(user_group)
user_group_id (PK)
user_par (FK на users.user_id)
user_child (FK на users.user_id)

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

vovan_zвот наример есть у меня справочник внутренних фирм, и есть документы, в каждый документ прописана фирма, и вот мне надо каким то пользователям запретить видеть документы каких то фирм(и другие таблицы программе где есть эти фирмы)
Это как раз примерно то, о чем я писал, только в сильно усеченном объеме, без концепции владения и самостоятельного ручного редактирования прав. Также рекомендую это делать отдельно и после, причем сильно после, вообще после всего. Это крайне слабо связано с первым (с разграничением прав на "объекты ПО").
...
Рейтинг: 0 / 0
Модель прав пользователей
    #35465213
Фотография Сергей Васкецов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vovan_zНе знаю как лучше может сделать для каждого права одну колонку?)
Для каждого права одну колонку делать не интересно, так как разные по сути объекты могут разграничиваться принципиально разными правами и по качеству, и по количеству. Лучше все права (для объекта и юзера) хранить в одном поле. В этом случае потребуется "парсер" данного поля, причем, как для чтения прав из БД и натягивания их в приложении, так и для редактирования их при администрировании, то есть, в обоих направлениях. Фактически, для каждого типа объекта будет свой парсер, если будет хоть что-то сложнее просто управления enabled/disabed или visible/hidden.
...
Рейтинг: 0 / 0
Модель прав пользователей
    #35465343
vovan_z
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей ВаскецовЭто как раз примерно то, о чем я писал, только в сильно усеченном объеме, без концепции владения и самостоятельного ручного редактирования прав. Также рекомендую это делать отдельно и после, причем сильно после, вообще после всего. Это крайне слабо связано с первым (с разграничением прав на "объекты ПО").
Я так понимаю что эти права раздаются в оболочке управления БД, насколько это удобно?!далеко не всегда есть доспут на правах адимнистратора на сервер. Получается что права на объекты задаются в программе а фильтры на строки задаются в другом месте совсем, да и пользователи везде разные могут быть?!Удобно ли это?!Может все права выдавать в интересфейсе программы?
...
Рейтинг: 0 / 0
Модель прав пользователей
    #35465409
Фотография Сергей Васкецов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vovan_z
Не понял вопроса, если честно. Но попробую ответить
1. Делать или нет ОТДЕЛЬНУЮ программу для администрирования приложения - как хотите. Важно только обеспечить ограниченный доступ к функциям администрирования. Но вообще-то лучше, если администратор не имеет доступа к тому, что администрирует. Также лучше, если интерфейс администрирования будет унифицированный, но не обязательно в точности повторяющий интерфейс рабочего приложения.
2. Доступ для администрирования приложения может быть никак не связан с административным доступом на сервер БД.
...
Рейтинг: 0 / 0
Модель прав пользователей
    #35465453
vovan_z
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей Васкецов
хорошо спрошу по другому. правильно ли я понимаю:
1. Фильтр по записям выполняется на уровне СУБД и приложение ничего не знает об этом?
2. Я так понимаю что пользователи и группы которые хранятся в табице users должны быть также пользователми СУБД?
...
Рейтинг: 0 / 0
Модель прав пользователей
    #35465652
Фотография Сергей Васкецов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vovan_zФильтр по записям выполняется на уровне СУБД и приложение ничего не знает об этом?
Есть разные подходы. Можно все ограничения учитывать во вьюхах или процедурах. Можно пользоваться встроенной в СУБД функциональностью, если таковая есть. Можно с клиента формировать запросы с ограничениями на записи. Зависит от множества факторов. Например, от необходимости видеть, что существуют записи, к которым нет доступа на чтение (например, в составе документа), то есть, что сработало ограничение. Также может быть необходима проверка на полномочия операций в триггерах.

vovan_zЯ так понимаю что пользователи и группы которые хранятся в табице users должны быть также пользователми СУБД?
Не обязательно. На юзеров БД можно раздавать права стандартно на уровне БД. Если Вам этого не надо, все могут и под одним юзером ходить, или под несколькими разными.
...
Рейтинг: 0 / 0
Модель прав пользователей
    #35465859
vovan_z
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
спасибо
...
Рейтинг: 0 / 0
Модель прав пользователей
    #35466071
_мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сергей ВаскецовГлобальное позаписное разграничение прав доступа (а нормальное оно может быть только в том случае, если автор/владелец любой записи в любой таблице сам может в рамках своих полномочий раздавать полномочия на эту самую запись, ей дочерние и т.п.)
Лучше все-таки администратор, и не на каждую запись, а на группы объектов.
Сергей Васкецоввыходит за рамки заявленного автором "разграничения прав на объекты
ПО"
Дык ведь все равно придется делать рано или поздно, так лучше все придумать заранее.
...
Рейтинг: 0 / 0
Модель прав пользователей
    #35467976
Фотография Сергей Васкецов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_модДык ведь все равно придется делать рано или поздно, так лучше все придумать заранее.
Отнюдь. Если, например, доступ ко всем счетам-фактурам идентичный, то разграничивать его по заголовкам этих документов смысла нет. Хотя, не скрою, удобства в плане администрирования это дает значительные, особенно в части редактирования справочников номенклатуры и контрагентов.
...
Рейтинг: 0 / 0
Модель прав пользователей
    #35468196
_мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сергей ВаскецовЕсли, например, доступ ко всем счетам-фактурам идентичный, то разграничивать его по заголовкам этих документов смысла нет.
В основном так конечно и есть. Но в общем виде задачка может выглядеть так:
Роль Р имеет может вводить СФ только от контрагентов типа К , т.е. права на одни объекты распространяются от прав на другие объекты.
...
Рейтинг: 0 / 0
Модель прав пользователей
    #35468258
Senya_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторавтор
Рекомендую посмотреть эту ссылку
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Модель прав пользователей
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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