Какая разница между группами и ролями?
В дополнение к группам множество реализаций управления идентификацией используют роли. Насколько они разные? До сих пор я не нашел убедительного варианта использования для разделения этих двух. Все объяснения, которые я прочитал, являются расплывчатыми и ручными.
Можете ли вы дать хороший пример, где нужны роли и группы?
Ответы
Ответ 1
Лицо - Группа - Роли
- Человек является членом одной или нескольких групп.
- Группе назначено несколько ролей.
Пример:
- Две роли существуют в системе stock_purchaser, timecard_supervisor.
- Две группы существуют в системе shift_supervisor, region_manager.
- региональный_manager имеет роль stock_purchaser и timecard_supervisor.
- shift_supervisor имеет роль timecard_supervisor.
В случае создания новой роли (например, review_leave_requests) это можно добавить ко всем тем группам, которым требуется эта роль. В системе, имеющей только роли, может быть трудоемкой задачей, добавляющей роль всем людям, которые этого требуют.
Ответ 2
Роли являются наборами прав
Группы - это группы людей
Представьте, что у вас есть две группы людей (G1, G2) с использованием приложения (A1), для которого у вас есть два типа пользователей: администраторы и пользователи только для чтения.
Вы можете создать роль администратора в A1, определить его права и дать G1 эту роль
Если G2 также нуждается в этих правах, вам не нужно предоставлять их по одному, вы можете просто дать G2 ту же роль, которую вы создали для G1
Ответ 3
Одним из важных недостатков во всех комментариях является тот факт, что вы можете назначать роли для отдельных пользователей, а не только для групп.
Вот пример использования:
Профессор физики в университете имеет "классный тест" (ака справа или привилегия) для определенного курса или набора курсов. Тем не менее, он решает пойти на отпуск в течение года и хочет, чтобы другой инструктор (или, возможно, несколько инструкторов - группа), т.е. Его замена (замены), имел ту же роль (привилегии) по одному и тому же набору курсов. Обратите внимание, что подставляющие инструкторы могут принадлежать к различным группам пользователей. Администратор может легко назначить эту роль отдельным пользователям или группам пользователей. Конечно, после возвращения профессора, администратор может отменить эти роли (привилегии).
С точки зрения системы мы заботимся только о том, какие методы пользователю (или группе пользователей) разрешено выполнять. Перед выполнением ограниченного метода мы проверяем роли пользователей, вызывая другие методы, которые обычно возвращают логические значения.