Роли
У каждого зарегистрированного участника существует определенная роль в программе, определяющая ряд функций, доступных этому участнику. Права и ограничения на действия продемонстрированы в табл. 3.
Таблица 3 Роли пользователей программы
|
Роль |
Роль в контексте алгоритмов оценивания |
Права и ограничения |
|
ROLE_STUDENT |
Студент |
Роль студента. Может быть участником курса. Может загружать работы в заданиях на курсах, в которых он участвует. Может получать информацию о результатах оценки высланных работ этим пользователем в соответствии с правилами, выставленными профессором. |
|
ROLE_PROFESSOR |
Преподаватель |
Роль преподавателя. Может быть участником курса. Может создавать задания на курсах, в которых он участвует, а также выставлять правила просмотра результатов студентами. Может получать информацию о результатах оценки всех высланных работ на курсах, в которых он участвует. |
|
ROLE_ADMIN |
Преподаватель |
Роль администратора. Может создавать курсы. Может создавать задания на любых курсах, а также выставлять правила просмотра результатов студентами. Может получать информацию о результатах оценки всех высланных работ на любых курсах. |
При регистрации пользователя с помощью интерфейса «/api/registration» ему присваивается роль «ROLE_STUDENT».
Поддержка использования различных ролей пользователей поддерживается с помощью фреймворка Spring Security [41].
Разграничение REST интерфейсов по ролям пользователей представлено в табл. 4.
Таблица 4 Соответствие ролей и основных REST интерфейсов
|
URL адрес контроллера |
Роли, имеющие доступ |
|
/api |
Авторизация не требуется |
|
/api/{courseShortName} |
Авторизация не требуется |
|
/api/assignments/getAssignmentById |
Авторизация не требуется |
|
/api/login |
Авторизация не требуется |
|
/api/logout |
ROLE_STUDENT, ROLE_PROFESSOR, ROLE_ADMIN |
|
/api/assignments/getAllResultsById |
ROLE_PROFESSOR, ROLE_ADMIN |
|
/api/assignments/getAttemptsById |
ROLE_STUDENT |
|
/api/assignments/triggerAssignmentById |
ROLE_STUDENT |