Skip to content

Latest commit

 

History

History
48 lines (41 loc) · 4.2 KB

README_ru.md

File metadata and controls

48 lines (41 loc) · 4.2 KB

Подготовленный проект

Данный проект содержит следующие подготовленные элементы из предметной области "управление персоналом":

  • Сущности Department (отдел) и Employee (сотрудник)
  • Дополнительный атрибут-ассоциация User#department, ссылающийся на Department
  • Экраны для просмотра и редактирования Department и Employee

Задание

В данном задании требуется настроить ролевую модель приложения согласно предписанным требованиям, и проверить эту модель на запущенном приложении.

1. Ресурсные роли

Определите следующие ресурсные роли в исходном коде:

  • "View employees". Даёт доступ к чтению и просмотру сотрудников (Employee) в интерфейсе приложения.
  • "Edit employees". Даёт полный доступ ко всем операциям с сотрудниками (Employee) в интерфейсе приложения.
  • "Access to departments". Даёт доступ к чтению и просмотру отделов (Department) в интерфейсе приложения. Также дает доступ к редактированию заметок по отделу - т.е. ровно одного атрибута Department#notes.

2. Объектная роль

Определите в исходном коде объектную роль:

  • Название "Editing employees of own department".
  • Тип политики - предикатная.
  • Ограничивает возможность создавать, редактировать или удалять сотрудников (Employee). Операции доступны только для тех сотрудников, кто состоит в том же отделе (Department), что указан в профиле у текущего пользователя (User#department).

3. Композитные роли

Запустите приложение и через административный UI создайте следующие композитные ресурсные роли:

  • "Viewer" - объединяет ui-minimal и "View employees".
  • "Supervisor" - объединяет ui-minimal, "Edit employees" и "Access to departments"

4. Назначение и проверка ролей

Набор полномочий наблюдателя:

  • Создайте пользователя "viewer" в запущенном приложении.
  • Назначьте ему роль Viewer.
  • Зайдите в систему под этим пользователем и проверьте, что ожидаемые разрешения применяются в пользовательском интерфейсе:
    • Доступен просмотр Employee

Набор полномочий супервизора:

  • Создайте пользователя "supervisor" в запущенном приложении.
  • Присвойте пользователю department = "IT"
  • Назначьте ему роли Supervisor и "Editing employees of own department".
  • Зайдите в систему под этим пользователем и проверьте, что ожидаемые разрешения применяются в пользовательском интерфейсе:
    • Доступен просмотр Department
    • Доступно редактирование атрибута Department - Notes (и только его)
    • Доступен просмотр и редактирование Employee из своего отдела
    • Доступен только просмотр Employee из чужих отделов

Снимите скриншоты с открытых экранов приложения для пользователей viewer и supervisor, и приложите их к выполненному проекту.