@Vadim-55

Как разграничить пользователей в Yii2?

Подскажите как реализовать следующие:
есть таблица "Программы(id, id_course, title)" и "Курсы(id, title)"
соответственно связь 1=n
"Курсы" содержат курс1, курс2 и т.д.
"Программы" содержат программа1, программа2 и т.д.
допустим есть юзер1 имеет доступ к курсу1 и всем связанным программам, юзер2 = курс2, и т.д. админ имеет доступ ко всем курсам и программам

как разграничить доступ к CRUD, выборке из таблиц и показу инфы определенным юзерам?
  • Вопрос задан
  • 50 просмотров
Пригласить эксперта
Ответы на вопрос 2
serg_small_developer
@serg_small_developer
Начинающий прогер
я бы сделал доп. таблицу в которой указал связь между пользователями и таблей курсов, типа так "КурсыПользователи(id, id_course, id_user)", и потом при выборке проверял так
if(!\Yii::$app->user->can('admin'))
{
//	делаем выборку с помощью КурсыПользователи для каждого по своим данным
}

т.е. если это не админ то делаем выборку по своим данным, а если нет то опускаем это и делаем выборку всего
Ответ написан
webinar
@webinar Куратор тега Yii
Учим yii: https://youtu.be/-WRMlGHLgRg
Делаете queryModel там реализуете метод который под разные роли вставляет разные условия и потом в dataProvider передаете уже такой query
'query' => SomeModel::find()->byRoles();
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы