Права доступа
Содержание |
Права доступа
Для каждого пользователя в Mid Office Manager имеется возможность настраивать права доступа к различным ресурсам. Это позволяет, ограничить доступ пользователя к определенным элементам программы и предотвратить возможность совешения нежелательных действия над данными. Иначе говоря, права доступа пользователей к данным можно разделять в рамках действий, которые находятся в их компетенции.
Система прав доступа в Mid Office Manager реализована в виде расширенного Access Control List или ACL — списка контроля доступа, который определяет, кто и при каких усовиях может получать доступ к конкретному ресурсу, и какие именно операции разрешено или запрещено этому субъекту проводить над ресурсом.
Основные положения
Система прав доступа состоит из следующих частей:
- Пользователи и группы
- Ресурсы
- Правила
Пользователи и группы
Субъектом любых действий в Mid Office Manager является пользователь. Для каждого пользователя можно настраивать уникальные права доступа. Зачастую, бизнес-процесс требует настройки одних и тех же прав для определеного круга пользователей. В данном случае удобно будет объединить этих пользователей в общую группу и предоставить права доступа не каждому из пользователей индивидуально, а группе. Система прав доступа позволяет создавать любое количество пользователей и групп.
Пользователи и группы представлены в виде иерархической структуры. Каждый пользоватлеь является членом определенной группы. Группа, в свою очередь, также может входить в другую группу и т.д. В основе иерархии лежит специальная группа «Все группы и пользователи». Важно знать, что один и тот же пользователь может входить сразу в несколько групп. Группа, в свою очередь, может иметь лишь одну родительскую группу.
Ресурсы
Объектом любых действий в Mid Office Manager является ресурс. В качестве ресурса могут выступать самые разнообразыне элементы системы. При этом, ресурсы различаются по типам:
- Список
- Справочник
- Объект
- Группа
Ресурс типа Группа играет специальную роль, позволяя объединять несколько ресурсов в группы. Также он может использоваться как индивиуальный ресурс, отвечая за специализированые элементы системы |
По аналогии с пользователями и группами, ресусы также представлены в виде иерархической структуры. Каждый ресурс имеет свой родительский ресурс. Во главе иерархии находится специальная группа «Все ресурсы».
Правила
При попытке совершения пользователем какого-либо действия над определенным ресурсом, система должна принять решение, разрешить ли это действие пользователю или нет. Решение принимается на основе правил. Правило содержит список действий и соответствующие им разрешения. Каждый ресурс предоставляет свой униклаьный набор действий. В зависимости от типа ресурса, правило может также содержать условия, критерии отбора и запрещенные поля.
Для ресурса типа Список, указание действий является опциональным |
Логика проверки доступа
Для получения разрешения или запрета на определеное действие пользователя над ресурсом, система производит довольно сложный иерархический поиск. Сперва происходит поиск правила, заданного непосредственно для данного пользователя и данного ресурса. В случае если такое правило найдено и оно явным образом определяет разрешение на доступ, поиск прекращается и пользователю будет предоставлено разрешение или запрет в рамках этого правила. В случае же если такое правило найдено не было, система попытается найти правило заданного для родительской группы пользователя и данного ресурса, и т.д. вверх по ирерахии групп до тех пор пока какое либо из правил явно не определит разрешение на доступ.
В силу того, что пользователь может входить сразу в несколько групп, иерерхическая проверка будет производиться начиная с каждой из групп, в которые входит пользователь. Если в рамках хотябы одной из них было найдено правило, разрешающее действие над этим объектом, поиск прекращается и пользователю предоставляется право на это действие. Очень важно знать, что пользователю будет отказано в доступе лишь в том случае, если проверка в рамках абсолютно всех групп, в которые входит пользователь, явно определят запрет на это действие. В противом же случае, разрешение примет так называемое неопределенное значение.
Если при описанном выше поиске не было найдено ни одного правила, однозначно определеющего доступ к данному ресурсу, для пользователя будет назначено неопределенное значение разрешения. Если такая ситуация имеет место, система повторит весь цикл поиска с самого начала, но уже для родительского ресурса. Поиск будет продолжаться до тех пор, пока не будет найдено явное разрешение или запрет на действие.
Не сложно заметить, что иерархический поиск по пльзователям, группам и ресурсам может завершиться