Автор Тема: Ролевая система раздачи прав доступа  (Прочитано 2134 раз)

Динар

  • Посвященный
  • **
  • Сообщений: 58
  • Благодарностей 1
Добрый день,

Очень не хватает Ролей при раздаче прав.
Суть думаю понятна, но поясню: существует объект Роль, который наделяют доступом к Объектам системы, а уже эту роль раздают пользователям.
К примеру, существуют роли: оператор, администратор, бухгалетр, сотрудник склада. Каждой роли дан свой набор доступов к объектам системы.
А сотрудникам уже даются конкретные Роли, к примеру: Петя-администратор, Коля - оператор и т.д.

Сейчас проблема в том, что предоставлять права очень уж неудобно: каждому пользователю надо раздать каждый объект. Велика вероятность ошибки, особенно, когда объекты называют почти одинаково (Заказчик, _Заказчик). Тем более что в представлении "~Объекты и формы-Пользователи" объекты не сортируются по имени.
Ну и при добавлении нового объекта, его приходится предоставлять всем пользователям, а можно было бы просто включить в Роль.

vladimir.runa

  • Главный модератор
  • Мастер
  • **
  • Сообщений: 341
  • Благодарностей 22
  • skype: vladimir.runa
Re: Ролевая система раздачи прав доступа
« Ответ #1 : Март 30, 2017, 03:38:49 pm »
Спорный вопрос, что лучше: индивидуальная настройка прав доступа или через роли.
Конструктор Руна больше предназначен для работы не в крупных и средних предприятиях, где у множества людей одинаковые права доступа, а больше для малых. Там, где не составляет труда настроить каждому человеку его права.
Была бы сделана настройка через роли - для многих пользователей было бы неудобно сначала настраивать роли, а потом задавать их каждому человеку. И малейшее отличие в работе двух людей уже бы требовало создание почти одинаковых ролей.
Всегда приходится выбирать между различными вариантами исполнения программы. И в данном случае было выбрано именно такое решение.
Префиксы в объектах/формах также служат для упрощения понимания их назначения. Можно задавать не незначащие префиксы, а со смыслом, к примеру: админ_, оператор_, и т.п.

Динар

  • Посвященный
  • **
  • Сообщений: 58
  • Благодарностей 1
Re: Ролевая система раздачи прав доступа
« Ответ #2 : Апрель 03, 2017, 01:59:07 pm »
Ролевая система раздачи прав доступа в общем случае эффективнее, чем раздавать права напрямую, даже для малых предприятий и малого количество объектов. В данном случае я считаю эффективностью количество связей: объект-сотрудник, объект-роль и роль-сотрудник.

Возьмём конкретное предприятие: 5 сотрудников, каждый из которых должен иметь доступ к 10 объектам.

Вы предложили вариант, когда каждый сотрудник имеет уникальный набор прав - это первый крайний вариант. Его эффективность при прямой раздаче прав = 5(сотрудников)*10(объектов) = 50. Ролевая эффективность = 5(ролей)*10(объектов)+1(роль)*5(сотрудников)=55.
Вывод: в данном случае число связей сопоставимо.

Рассмотрим другой крайний вариант, всем сотрудникам нужен одинаковый доступ. Его эффективность при прямой раздаче прав = 5(сотрудников)*10(объектов) = 50. Ролевая эффективность = 1(роль)*10(объектов)+1(роль)*5(сотрудников)=15.
Вывод:в данном случае число связей упало более чем в 3 раза.

Причём для данного примера, ролевая эффективность превосходит прямую уже когда 2 сотрудника должны иметь одинаковые права: 4(роли)*10(объектов)+1(роль)*5(сотрудников)=45.

Ролевая модель оказывается эффективнее и для других вариантов количества сотрудников и объектов, и как вы правильно заметили, чем их больше тем эффективнее.

Кроме того, ролевую систему удобнее администрировать (добавлять/удалять права) и она более прозрачна (сразу видно, кто какую роль имеет).

Предлагаю, всё таки рассмотреть вариант доработки конструктора, чтобы была ролевая система раздачи прав доступа.

vladimir.runa

  • Главный модератор
  • Мастер
  • **
  • Сообщений: 341
  • Благодарностей 22
  • skype: vladimir.runa
Re: Ролевая система раздачи прав доступа
« Ответ #3 : Апрель 04, 2017, 10:25:37 pm »
Несомненно, возможность ролевой настройки прав доступа будет крайне удобна для пользователей, у которых больше 3-5 подключений. Но по самым скромным прикидкам, реализация подобного инструмента может занять от месяца и более, чего мы пока позволить себе не можем.
Все интересные и нужные идеи мы записываем и, когда будет возможность, будем реализовывать всё накопившееся.

 

Яндекс.Метрика