Скрипт выбора Moodle отображает неверную роль для пользователя

Роль «Сотрудник банка» не назначена сотруднику УИЛЬЯМУ ДЕ ДИОСУ, как показано на скриншоте, доступном из Moodle.

Но созданный мной сценарий показывает, что у этого сотрудника уже есть роль «Банковский служащий».

Вот сценарий:

 select distinct u.username USER_NAME, u.firstname FIRST_NAME, u.lastname LAST_NAME, u. auth, 
 u.suspended, u. idnumber, u.email, u.maildisplay, r.name ROLE_NAME
 from mdl_user u
 left join mdl_role_assignments ra ON ra.userid=u.id
 left join mdl_role r ON ra.roleid = r.id
 where u.lastname like '%DE DIOS%' and u.firstname like '%WILLIAM%'
 order by lastname;

Помогите, пожалуйста. Мне нужно доработать скрипт, чтобы отображалась только назначенная роль. Роль «Сотрудник банка» не должна отображаться в модуле Moodle.

Скрипт выбора Moodle отображает неверную роль для пользователя

Возможно ли, что роль сотрудника банка каким-то образом была назначена пользователю в контексте, отличном от системного, например другие контексты, такие как курс, блок, пользователь и т. д.? Это может привести к записи в таблице role_assignments для роли Bank Employee, но в контексте, который не является системным. Эта запись не появится на экране, которым вы поделились b / c, который показывает только пользователей с ролью для системного контекста. Я видел, как это происходило в прошлом с непреднамеренными / старыми назначениями ролей, которые не удалялись из БД. Запрос role_assignments с использованием идентификатора роли и идентификатора пользователя может выявить эту ситуацию. Надеюсь, что это поможет.

John 01.04.2021 08:51
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
В предыдущем посте мы создали функциональность вставки и чтения для нашей динамической СУБД. В этом посте мы собираемся реализовать функции обновления...
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
Роли и разрешения пользователей без пакета Laravel 9
Роли и разрешения пользователей без пакета Laravel 9
Этот пост изначально был опубликован на techsolutionstuff.com .
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
1
1
17
0

Другие вопросы по теме