|
|
|
Распределение прав доступа в клиент-серверных приложениях. Сравнение подходов.
|
|||
|---|---|---|---|
|
#18+
Существует несколько способов ограничения доступа к данным. Давайте откинем стандартные возможности СУДБ, таких как гранты Oracle и тому подобное. Поговорим о структуре БД, которая информацию о доступе пользователей системы к элементам системы хранит в себе, т.е. в своих таблицах. Рассмотрим так называемый "кумулятивный вариант", когда по умолчанию пользователю в системе ничего не доступно. Здесь я вижу сразу три подхода, и любое Ваше мнение о каждом из них хотелось бы услышать: 1. дача прав в разрезе пользователей 2. дача прав в разрезе ролей + назначение ролей пользователям 3. дача прав в разрезе групп пользователей + определение пользователя в группу В процессе обсуждения я преследую цель получить ответ на вопрос: Стоит ли изначально проектировать в системе все три подхода вкупе? СПРАВКА: В ИСУ ПАРУС присутствует схема 1+2 В ОС MS WINDOWS - схема 1+3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2006, 12:04 |
|
||
|
Распределение прав доступа в клиент-серверных приложениях. Сравнение подходов.
|
|||
|---|---|---|---|
|
#18+
Баян,копий много было сломано. Поищите по форуму с ключевыми словами "контроль доступа", "безопасность" и не разводите лишний раз флейм!Там и ссылок полно на разные модели, плюсы/минусы рассмотрены. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2006, 12:38 |
|
||
|
Распределение прав доступа в клиент-серверных приложениях. Сравнение подходов.
|
|||
|---|---|---|---|
|
#18+
Три не стоит. Варианты 2 и 3 отличаются только заменой группа на роль. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2006, 13:18 |
|
||
|
Распределение прав доступа в клиент-серверных приложениях. Сравнение подходов.
|
|||
|---|---|---|---|
|
#18+
> 2. дача прав в разрезе ролей + назначение ролей пользователям > 3. дача прав в разрезе групп пользователей + определение пользователя Эти варианты по сути ничем друг от друга не отличаются. Неважно, как назвать объединение пользователей - группа или роль. > Стоит ли изначально проектировать в системе все три подхода вкупе? Возьмите нормальную файловую систему (например, ext2 или reiserfs) и посмотрите, как в ней организовано ограничение доступа. Или - что правильнее, но сложнее - посмотрите, как организована SELinux: пожалуй, это наиболее разумная реализация ограничения доступа из существующих. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2006, 13:52 |
|
||
|
Распределение прав доступа в клиент-серверных приложениях. Сравнение подходов.
|
|||
|---|---|---|---|
|
#18+
Аналитика+Существует несколько способов ограничения доступа к данным доступ надо давать не к данным а к функциям системы а это совсем другая песня ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2006, 14:32 |
|
||
|
Распределение прав доступа в клиент-серверных приложениях. Сравнение подходов.
|
|||
|---|---|---|---|
|
#18+
моддоступ надо давать не к данным а к функциям системы Доступ надо ограничивать и к данным и к функциям системы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2006, 15:58 |
|
||
|
Распределение прав доступа в клиент-серверных приложениях. Сравнение подходов.
|
|||
|---|---|---|---|
|
#18+
Да иже начнется флейм: пусть есть набор данных предположим о сотрудниках. У них есть подчиненные. Вы имеете право смотреть только содрудников ниже Вас по иерархии (пусть структура управления иерархическая,а не матричная).Где тут функция? Только не говорите,что должна быть функция "Просмотр данных о сотрудниках своего уровня"?Это словоблудие... Меньше лозунгов-больше дела. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2006, 15:58 |
|
||
|
Распределение прав доступа в клиент-серверных приложениях. Сравнение подходов.
|
|||
|---|---|---|---|
|
#18+
ShtockГде тут функция? Если обобщать, доступ к функции есть частный случай доступа к данным (недоступность функции == пустое множество данных, для которых она доступна). Но такое обобщение представляется мне непрактичным; неудобным ни для рассуждений, ни для реализации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2006, 16:00 |
|
||
|
Распределение прав доступа в клиент-серверных приложениях. Сравнение подходов.
|
|||
|---|---|---|---|
|
#18+
Полностью с Вами,softwarer,согласен.Просто тема изначально флеймовая. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2006, 16:17 |
|
||
|
Распределение прав доступа в клиент-серверных приложениях. Сравнение подходов.
|
|||
|---|---|---|---|
|
#18+
Shtock У них есть подчиненные. Вы имеете право смотреть только содрудников ниже Вас по иерархии (пусть структура управления иерархическая,а не матричная).Где тут функция? Только не говорите,что должна быть функция "Просмотр данных о сотрудниках своего уровня"?Это словоблудие... Смотреть ? Получать отчет ? Вводить новых ? удалять ? увольнять ? Где тут данные ? (и где словоблудие) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2006, 16:20 |
|
||
|
Распределение прав доступа в клиент-серверных приложениях. Сравнение подходов.
|
|||
|---|---|---|---|
|
#18+
Аналитика+Существует несколько способов ограничения доступа к данным. .... маленькое замечанице... распределение прав доступа в клиент-серверных.... и органичение доступа к данным... это разные весчи... в клиент-серверных системах права доступа разделяються на... права ядра.. права коннекшенна.. права некой учётной записи... про БД - это от лукавого...или по другому - это частный случай... с уважением (круглый) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2006, 16:38 |
|
||
|
Распределение прав доступа в клиент-серверных приложениях. Сравнение подходов.
|
|||
|---|---|---|---|
|
#18+
guest_20040621 > 2. дача прав в разрезе ролей + назначение ролей пользователям > 3. дача прав в разрезе групп пользователей + определение пользователя Эти варианты по сути ничем друг от друга не отличаются. Неважно, как назвать объединение пользователей - группа или роль. Есть некоторое преимущество реализации пунктов 1,2,3 вкупе. Если деятельность некоторой группы пользователей характеризуется набором ролей, то при реализации назначения ролей группе мы получаем преимущества при администрировании такой системы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2006, 06:18 |
|
||
|
Распределение прав доступа в клиент-серверных приложениях. Сравнение подходов.
|
|||
|---|---|---|---|
|
#18+
> Есть некоторое преимущество реализации пунктов 1,2,3 вкупе. Никаких, кроме дополнительного геморроя. Для любого объединения пользователей могут быть заданы любые дополнительные признаки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2006, 08:39 |
|
||
|
Распределение прав доступа в клиент-серверных приложениях. Сравнение подходов.
|
|||
|---|---|---|---|
|
#18+
SublimeЕсть некоторое преимущество реализации пунктов 1,2,3 вкупе..... Это преимущество называется "включение одной роли в другую роль". Никаких "вкупе" для этого не требуется. В данном случае, с учетом приведенных примеров, "группа" и "роль" - синонимы, и желание сделать и то, и другое означает только то, что проектировщик сам не знает толком, чего хочет, просто тащит все что видел без разбора. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2006, 08:54 |
|
||
|
Распределение прав доступа в клиент-серверных приложениях. Сравнение подходов.
|
|||
|---|---|---|---|
|
#18+
softwarer Это преимущество называется "включение одной роли в другую роль". Сам понял что сказал? Роль нельзя включать в другую роль. Никоим образом! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2006, 08:59 |
|
||
|
Распределение прав доступа в клиент-серверных приложениях. Сравнение подходов.
|
|||
|---|---|---|---|
|
#18+
guest_20040621> Для любого объединения пользователей могут быть заданы любые дополнительные признаки. Кино и немцы. Для объединения пользователей я знаю только одно понятие - "Группа пользователей". Все ваши "дополнительные признаки" - ни что иное как попытка замаскироать группировку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2006, 09:03 |
|
||
|
Распределение прав доступа в клиент-серверных приложениях. Сравнение подходов.
|
|||
|---|---|---|---|
|
#18+
SublimeСам понял что сказал? Понял. И тебе того же желаю. SublimeРоль нельзя включать в другую роль. Никоим образом! Жаль, что ведущие вендоры придерживаются противоположного мнения. А так да, конечно, получается очень здорово - сначала придумываем группы, чтобы грантовать им роли, потом придумываем конгломераты, чтобы включать в них группы (их Вы ведь тоже запретите включать друг в друга, верно?) и так далее, пока слов хватает. Sublime Для объединения пользователей я знаю только одно понятие - "Группа пользователей" Ну вот и добрались до истока. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2006, 09:34 |
|
||
|
Распределение прав доступа в клиент-серверных приложениях. Сравнение подходов.
|
|||
|---|---|---|---|
|
#18+
Роль и группа это одно и то же. При этом роли могут иметь иерархию со всеми вытекающими. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2006, 09:45 |
|
||
|
Распределение прав доступа в клиент-серверных приложениях. Сравнение подходов.
|
|||
|---|---|---|---|
|
#18+
softwarer...потом придумываем конгломераты, чтобы включать в них группы (их Вы ведь тоже запретите включать друг в друга, верно?)... Группы в отличие от ролей могут иметь иерархическую структуру. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2006, 09:52 |
|
||
|
Распределение прав доступа в клиент-серверных приложениях. Сравнение подходов.
|
|||
|---|---|---|---|
|
#18+
> я знаю только одно понятие - "Группа пользователей" Хм... больше читайте, - Вы и представить себе не можете, сколько всего Вы не знаете. ;)) > Все ваши "дополнительные признаки" - ни что иное как попытка > замаскироать группировку. Мои (если Вы настаиваете) дополнительные признаки (включая множественную иерархию, роли _внутри_ групп и пр. хрень) - это удобная, логичная и простая организация пользователей. Это _не синоним_ группировки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2006, 10:04 |
|
||
|
Распределение прав доступа в клиент-серверных приложениях. Сравнение подходов.
|
|||
|---|---|---|---|
|
#18+
ShtockДа иже начнется флейм: пусть есть набор данных предположим о сотрудниках. У них есть подчиненные. Вы имеете право смотреть только содрудников ниже Вас по иерархии (пусть структура управления иерархическая,а не матричная).Где тут функция? Только не говорите,что должна быть функция "Просмотр данных о сотрудниках своего уровня"?Это словоблудие... Меньше лозунгов-больше дела. Почему нет?. Начальник отдела делегировал право вести табель своему подчиненому. В отделе две (много) подгрупп. Табельщик "не видит" всего списка сотрудников - ибо он где то ниже по иерархии подчинения. Нужна Бизнес-функция - открыть доступ ко всему (части ) списка. При этом, легко ВКЛЮЧИТЬ или ВЫКЛЮЧИТЬ "Просмотр данных о сотрудниках своего уровня". Вот моя любимая схема: Юзер, Группа Юзеров, Бизнес-функция. Бизнес-функция имеет (роли БД, ресурсы (строки БД) + коллекции элементов интерфейса...(типа виден-не виден)). Юзер в итоге получает свои БФ, и через них - уровни доступа к системе. Юзер это "имеет" по разному = наследуя от Группы или путем прямого назначений. А при в ходе в систему, юзер никаких прав не имеет. Каждая Прога имеет "Первую Строку Программного кода", где проверяются привелегии. Если false - Прога САМА прерывает работу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2006, 10:06 |
|
||
|
Распределение прав доступа в клиент-серверных приложениях. Сравнение подходов.
|
|||
|---|---|---|---|
|
#18+
SublimeГруппы в отличие от ролей могут иметь иерархическую структуру. То есть до полного идиотизма опускаться не приходится, и то хорошо. Теперь тебе осталось понять, что слово "роль" ты понимаешь существенно по-особому, отлично от минимум троих твоих собеседников, и постулируемое тобой "в отличие" мягко говоря неубедительно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2006, 11:13 |
|
||
|
Распределение прав доступа в клиент-серверных приложениях. Сравнение подходов.
|
|||
|---|---|---|---|
|
#18+
UK0IAIЮзер в итоге получает свои БФ, и через них - уровни доступа к системе. При рассуждении только через функции становится неудобным опираться на перечислимые справочники. Допустим, скажем, секретать отдела имеет право заказывать кофе для отдела - хорошо, описывается через функцию "заказать кофе для своего отдела". Можно сделать функцию "заказ кофе для любого отдела" - опять же все хорошо. Но допустим, у отдела нет секретарши, и решили что за кофе они должны обращаться к секретарше соседнего отдела. В этом случае придется делать функцию "заказ кофе для отдела номер четыре", потом - "заказ кофе для отдела номер восемь" и так далее. Тут становится куда удобнее другая модель и рассуждений, и реализации - каждой секретарше соотнесен набор отделов, для которых она имеет право заказывать кофе. То есть подрезка справочника отделов, ограничение на данные. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2006, 11:22 |
|
||
|
Распределение прав доступа в клиент-серверных приложениях. Сравнение подходов.
|
|||
|---|---|---|---|
|
#18+
softwarer Это преимущество называется "включение одной роли в другую роль". Никаких "вкупе" для этого не требуется. В данном случае, с учетом приведенных примеров, "группа" и "роль" - синонимы, и желание сделать и то, и другое означает только то, что проектировщик сам не знает толком, чего хочет, просто тащит все что видел без разбора. Вы мне пытаетесь доказать, что иерархическая структура ролей есть ни что иное как назначение ролей группе. Позвольте реплику. Схема роль+группа дает возможность включения одной роли в несколько групп. Ваш же подход исключает такую ситуацию. Упс! Жду ваших комментариев. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2006, 12:09 |
|
||
|
Распределение прав доступа в клиент-серверных приложениях. Сравнение подходов.
|
|||
|---|---|---|---|
|
#18+
softwarer Тут становится куда удобнее другая модель и рассуждений, и реализации - каждой секретарше соотнесен набор отделов, для которых она имеет право заказывать кофе. То есть подрезка справочника отделов, ограничение на данные. Совершенно верно. Доступ к функциям сопровождается ограничениями на доступ к данным, необходимым для выполнения данной функции. На самом деле все очень не просто :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2006, 12:16 |
|
||
|
|

start [/forum/topic.php?fid=32&fpage=139&tid=1545286]: |
0ms |
get settings: |
9ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
70ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
85ms |
get tp. blocked users: |
2ms |
| others: | 235ms |
| total: | 444ms |

| 0 / 0 |
