powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Распределение прав доступа в клиент-серверных приложениях. Сравнение подходов.
25 сообщений из 106, страница 1 из 5
Распределение прав доступа в клиент-серверных приложениях. Сравнение подходов.
    #33573171
Аналитика+
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Существует несколько способов ограничения доступа к данным. Давайте откинем стандартные возможности СУДБ, таких как гранты Oracle и тому подобное. Поговорим о структуре БД, которая информацию о доступе пользователей системы к элементам системы хранит в себе, т.е. в своих таблицах. Рассмотрим так называемый "кумулятивный вариант", когда по умолчанию пользователю в системе ничего не доступно. Здесь я вижу сразу три подхода, и любое Ваше мнение о каждом из них хотелось бы услышать:
1. дача прав в разрезе пользователей
2. дача прав в разрезе ролей + назначение ролей пользователям
3. дача прав в разрезе групп пользователей + определение пользователя в группу
В процессе обсуждения я преследую цель получить ответ на вопрос:
Стоит ли изначально проектировать в системе все три подхода вкупе?
СПРАВКА:
В ИСУ ПАРУС присутствует схема 1+2
В ОС MS WINDOWS - схема 1+3
...
Рейтинг: 0 / 0
Распределение прав доступа в клиент-серверных приложениях. Сравнение подходов.
    #33573332
Фотография Shtock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Баян,копий много было сломано. Поищите по форуму с ключевыми словами "контроль доступа", "безопасность" и не разводите лишний раз флейм!Там и ссылок полно на разные модели, плюсы/минусы рассмотрены.
...
Рейтинг: 0 / 0
Распределение прав доступа в клиент-серверных приложениях. Сравнение подходов.
    #33573537
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Три не стоит. Варианты 2 и 3 отличаются только заменой группа на роль.
...
Рейтинг: 0 / 0
Распределение прав доступа в клиент-серверных приложениях. Сравнение подходов.
    #33573665
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> 2. дача прав в разрезе ролей + назначение ролей пользователям
> 3. дача прав в разрезе групп пользователей + определение пользователя

Эти варианты по сути ничем друг от друга не отличаются. Неважно, как назвать объединение пользователей - группа или роль.

> Стоит ли изначально проектировать в системе все три подхода вкупе?

Возьмите нормальную файловую систему (например, ext2 или reiserfs) и посмотрите, как в ней организовано ограничение доступа. Или - что правильнее, но сложнее - посмотрите, как организована SELinux: пожалуй, это наиболее разумная реализация ограничения доступа из существующих.
...
Рейтинг: 0 / 0
Распределение прав доступа в клиент-серверных приложениях. Сравнение подходов.
    #33573859
мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Аналитика+Существует несколько способов ограничения доступа к данным
доступ надо давать не к данным а к функциям системы а это совсем другая песня
...
Рейтинг: 0 / 0
Распределение прав доступа в клиент-серверных приложениях. Сравнение подходов.
    #33574384
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
моддоступ надо давать не к данным а к функциям системы
Доступ надо ограничивать и к данным и к функциям системы.
...
Рейтинг: 0 / 0
Распределение прав доступа в клиент-серверных приложениях. Сравнение подходов.
    #33574387
Фотография Shtock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да иже начнется флейм: пусть есть набор данных предположим о сотрудниках. У них есть подчиненные. Вы имеете право смотреть только содрудников ниже Вас по иерархии (пусть структура управления иерархическая,а не матричная).Где тут функция? Только не говорите,что должна быть функция "Просмотр данных о сотрудниках своего уровня"?Это словоблудие...

Меньше лозунгов-больше дела.
...
Рейтинг: 0 / 0
Распределение прав доступа в клиент-серверных приложениях. Сравнение подходов.
    #33574399
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShtockГде тут функция?
Если обобщать, доступ к функции есть частный случай доступа к данным (недоступность функции == пустое множество данных, для которых она доступна). Но такое обобщение представляется мне непрактичным; неудобным ни для рассуждений, ни для реализации.
...
Рейтинг: 0 / 0
Распределение прав доступа в клиент-серверных приложениях. Сравнение подходов.
    #33574470
Фотография Shtock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Полностью с Вами,softwarer,согласен.Просто тема изначально флеймовая.
...
Рейтинг: 0 / 0
Распределение прав доступа в клиент-серверных приложениях. Сравнение подходов.
    #33574481
мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shtock У них есть подчиненные. Вы имеете право смотреть только содрудников ниже Вас по иерархии (пусть структура управления иерархическая,а не матричная).Где тут функция? Только не говорите,что должна быть функция "Просмотр данных о сотрудниках своего уровня"?Это словоблудие...

Смотреть ? Получать отчет ? Вводить новых ? удалять ? увольнять ?
Где тут данные ? (и где словоблудие)
...
Рейтинг: 0 / 0
Распределение прав доступа в клиент-серверных приложениях. Сравнение подходов.
    #33574574
kolobok0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Аналитика+Существует несколько способов ограничения доступа к данным. ....

маленькое замечанице...
распределение прав доступа в клиент-серверных....
и органичение доступа к данным...

это разные весчи...
в клиент-серверных системах права доступа разделяються на...

права ядра..
права коннекшенна..
права некой учётной записи...

про БД - это от лукавого...или по другому - это частный случай...

с уважением
(круглый)
...
Рейтинг: 0 / 0
Распределение прав доступа в клиент-серверных приложениях. Сравнение подходов.
    #33575487
Sublime
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_20040621
> 2. дача прав в разрезе ролей + назначение ролей пользователям
> 3. дача прав в разрезе групп пользователей + определение пользователя

Эти варианты по сути ничем друг от друга не отличаются. Неважно, как назвать объединение пользователей - группа или роль.


Есть некоторое преимущество реализации пунктов 1,2,3 вкупе. Если деятельность некоторой группы пользователей характеризуется набором ролей, то при реализации назначения ролей группе мы получаем преимущества при администрировании такой системы.
...
Рейтинг: 0 / 0
Распределение прав доступа в клиент-серверных приложениях. Сравнение подходов.
    #33575609
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Есть некоторое преимущество реализации пунктов 1,2,3 вкупе.

Никаких, кроме дополнительного геморроя. Для любого объединения пользователей могут быть заданы любые дополнительные признаки.
...
Рейтинг: 0 / 0
Распределение прав доступа в клиент-серверных приложениях. Сравнение подходов.
    #33575627
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SublimeЕсть некоторое преимущество реализации пунктов 1,2,3 вкупе.....
Это преимущество называется "включение одной роли в другую роль". Никаких "вкупе" для этого не требуется. В данном случае, с учетом приведенных примеров, "группа" и "роль" - синонимы, и желание сделать и то, и другое означает только то, что проектировщик сам не знает толком, чего хочет, просто тащит все что видел без разбора.
...
Рейтинг: 0 / 0
Распределение прав доступа в клиент-серверных приложениях. Сравнение подходов.
    #33575639
Sublime
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
softwarer
Это преимущество называется "включение одной роли в другую роль".


Сам понял что сказал? Роль нельзя включать в другую роль. Никоим образом!
...
Рейтинг: 0 / 0
Распределение прав доступа в клиент-серверных приложениях. Сравнение подходов.
    #33575649
Sublime
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_20040621> Для любого объединения пользователей могут быть заданы любые дополнительные признаки.
Кино и немцы. Для объединения пользователей я знаю только одно понятие - "Группа пользователей". Все ваши "дополнительные признаки" - ни что иное как попытка замаскироать группировку.
...
Рейтинг: 0 / 0
Распределение прав доступа в клиент-серверных приложениях. Сравнение подходов.
    #33575708
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SublimeСам понял что сказал?
Понял. И тебе того же желаю.

SublimeРоль нельзя включать в другую роль. Никоим образом!
Жаль, что ведущие вендоры придерживаются противоположного мнения. А так да, конечно, получается очень здорово - сначала придумываем группы, чтобы грантовать им роли, потом придумываем конгломераты, чтобы включать в них группы (их Вы ведь тоже запретите включать друг в друга, верно?) и так далее, пока слов хватает.

Sublime Для объединения пользователей я знаю только одно понятие - "Группа пользователей"
Ну вот и добрались до истока.
...
Рейтинг: 0 / 0
Распределение прав доступа в клиент-серверных приложениях. Сравнение подходов.
    #33575752
мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Роль и группа это одно и то же. При этом роли могут иметь иерархию со всеми вытекающими.
...
Рейтинг: 0 / 0
Распределение прав доступа в клиент-серверных приложениях. Сравнение подходов.
    #33575781
Sublime
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
softwarer...потом придумываем конгломераты, чтобы включать в них группы (их Вы ведь тоже запретите включать друг в друга, верно?)...

Группы в отличие от ролей могут иметь иерархическую структуру.
...
Рейтинг: 0 / 0
Распределение прав доступа в клиент-серверных приложениях. Сравнение подходов.
    #33575820
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> я знаю только одно понятие - "Группа пользователей"

Хм... больше читайте, - Вы и представить себе не можете, сколько всего Вы не знаете. ;))

> Все ваши "дополнительные признаки" - ни что иное как попытка
> замаскироать группировку.

Мои (если Вы настаиваете) дополнительные признаки (включая множественную иерархию, роли _внутри_ групп и пр. хрень) - это удобная, логичная и простая организация пользователей. Это _не синоним_ группировки.
...
Рейтинг: 0 / 0
Распределение прав доступа в клиент-серверных приложениях. Сравнение подходов.
    #33575829
Фотография UK0IAI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShtockДа иже начнется флейм: пусть есть набор данных предположим о сотрудниках. У них есть подчиненные. Вы имеете право смотреть только содрудников ниже Вас по иерархии (пусть структура управления иерархическая,а не матричная).Где тут функция? Только не говорите,что должна быть функция "Просмотр данных о сотрудниках своего уровня"?Это словоблудие...

Меньше лозунгов-больше дела.

Почему нет?. Начальник отдела делегировал право вести табель своему подчиненому. В отделе две (много) подгрупп. Табельщик "не видит" всего списка сотрудников - ибо он где то ниже по иерархии подчинения.

Нужна Бизнес-функция - открыть доступ ко всему (части ) списка.

При этом, легко ВКЛЮЧИТЬ или ВЫКЛЮЧИТЬ "Просмотр данных о сотрудниках своего уровня".

Вот моя любимая схема:

Юзер, Группа Юзеров, Бизнес-функция.
Бизнес-функция имеет (роли БД, ресурсы (строки БД) + коллекции элементов интерфейса...(типа виден-не виден)).

Юзер в итоге получает свои БФ, и через них - уровни доступа к системе.
Юзер это "имеет" по разному = наследуя от Группы или путем прямого назначений.

А при в ходе в систему, юзер никаких прав не имеет.

Каждая Прога имеет "Первую Строку Программного кода", где проверяются привелегии. Если false - Прога САМА прерывает работу.
...
Рейтинг: 0 / 0
Распределение прав доступа в клиент-серверных приложениях. Сравнение подходов.
    #33576108
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SublimeГруппы в отличие от ролей могут иметь иерархическую структуру.
То есть до полного идиотизма опускаться не приходится, и то хорошо.

Теперь тебе осталось понять, что слово "роль" ты понимаешь существенно по-особому, отлично от минимум троих твоих собеседников, и постулируемое тобой "в отличие" мягко говоря неубедительно.
...
Рейтинг: 0 / 0
Распределение прав доступа в клиент-серверных приложениях. Сравнение подходов.
    #33576147
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
UK0IAIЮзер в итоге получает свои БФ, и через них - уровни доступа к системе.
При рассуждении только через функции становится неудобным опираться на перечислимые справочники. Допустим, скажем, секретать отдела имеет право заказывать кофе для отдела - хорошо, описывается через функцию "заказать кофе для своего отдела". Можно сделать функцию "заказ кофе для любого отдела" - опять же все хорошо. Но допустим, у отдела нет секретарши, и решили что за кофе они должны обращаться к секретарше соседнего отдела. В этом случае придется делать функцию "заказ кофе для отдела номер четыре", потом - "заказ кофе для отдела номер восемь" и так далее.

Тут становится куда удобнее другая модель и рассуждений, и реализации - каждой секретарше соотнесен набор отделов, для которых она имеет право заказывать кофе. То есть подрезка справочника отделов, ограничение на данные.
...
Рейтинг: 0 / 0
Распределение прав доступа в клиент-серверных приложениях. Сравнение подходов.
    #33576399
Sublime
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
softwarer
Это преимущество называется "включение одной роли в другую роль". Никаких "вкупе" для этого не требуется. В данном случае, с учетом приведенных примеров, "группа" и "роль" - синонимы, и желание сделать и то, и другое означает только то, что проектировщик сам не знает толком, чего хочет, просто тащит все что видел без разбора.

Вы мне пытаетесь доказать, что иерархическая структура ролей есть ни что иное как назначение ролей группе. Позвольте реплику. Схема роль+группа дает возможность включения одной роли в несколько групп. Ваш же подход исключает такую ситуацию. Упс! Жду ваших комментариев.
...
Рейтинг: 0 / 0
Распределение прав доступа в клиент-серверных приложениях. Сравнение подходов.
    #33576438
мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer
Тут становится куда удобнее другая модель и рассуждений, и реализации - каждой секретарше соотнесен набор отделов, для которых она имеет право заказывать кофе. То есть подрезка справочника отделов, ограничение на данные.
Совершенно верно. Доступ к функциям сопровождается ограничениями на доступ к данным, необходимым для выполнения данной функции.
На самом деле все очень не просто :)
...
Рейтинг: 0 / 0
25 сообщений из 106, страница 1 из 5
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Распределение прав доступа в клиент-серверных приложениях. Сравнение подходов.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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