Данный проект содержит следующие подготовленные элементы из предметной области "управление персоналом":
- Сущности Department (отдел) и Employee (сотрудник)
- Дополнительный атрибут-ассоциация User#department, ссылающийся на Department
- Экраны для просмотра и редактирования Department и Employee
В данном задании требуется настроить ролевую модель приложения согласно предписанным требованиям, и проверить эту модель на запущенном приложении.
Определите следующие ресурсные роли в исходном коде:
- "View employees". Даёт доступ к чтению и просмотру сотрудников (Employee) в интерфейсе приложения.
- "Edit employees". Даёт полный доступ ко всем операциям с сотрудниками (Employee) в интерфейсе приложения.
- "Access to departments". Даёт доступ к чтению и просмотру отделов (Department) в интерфейсе приложения. Также дает доступ к редактированию заметок по отделу - т.е. ровно одного атрибута Department#notes.
Определите в исходном коде объектную роль:
- Название "Editing employees of own department".
- Тип политики - предикатная.
- Ограничивает возможность создавать, редактировать или удалять сотрудников (Employee). Операции доступны только для тех сотрудников, кто состоит в том же отделе (Department), что указан в профиле у текущего пользователя (User#department).
Запустите приложение и через административный UI создайте следующие композитные ресурсные роли:
- "Viewer" - объединяет ui-minimal и "View employees".
- "Supervisor" - объединяет ui-minimal, "Edit employees" и "Access to departments"
Набор полномочий наблюдателя:
- Создайте пользователя "viewer" в запущенном приложении.
- Назначьте ему роль Viewer.
- Зайдите в систему под этим пользователем и проверьте, что ожидаемые разрешения применяются в пользовательском интерфейсе:
- Доступен просмотр Employee
Набор полномочий супервизора:
- Создайте пользователя "supervisor" в запущенном приложении.
- Присвойте пользователю department = "IT"
- Назначьте ему роли Supervisor и "Editing employees of own department".
- Зайдите в систему под этим пользователем и проверьте, что ожидаемые разрешения применяются в пользовательском интерфейсе:
- Доступен просмотр Department
- Доступно редактирование атрибута Department - Notes (и только его)
- Доступен просмотр и редактирование Employee из своего отдела
- Доступен только просмотр Employee из чужих отделов
Снимите скриншоты с открытых экранов приложения для пользователей viewer и supervisor, и приложите их к выполненному проекту.