Подскажите кто нить как реализовать ограничение доступа по определенной таблице mysql?
Допустим есть 4 таблицы mysql:
1) таблица юзеров
id _ name
1 _ Иван
2 _ Федя
2) таблица прав доступа
id _ userid _ grouptid _ acess ( 0 - доступ закрыт, 1 - просмотр, 2 - просмотр, изменение… )
1 _ 1 _____ 1 _______ 1
2 _ 2 _____ 2 _______ 2
3) таблица контента (представим, что у каждой группы свой контент)
id _ content
1 _ текст
2 _ /img/1.jpg
4) таблица групп
id _ groupname
1 _ Группа 1
2 _ Группа 2
К примеру авторизовались под 1м юзером, yii должно ограничить доступ по 2й таблице и вывести только текст.
Прописал в BaseController:
public function beforeAction($action)
{
if (Yii::$app->user->isGuest) {
return $this->redirect('/site/login');
}
if (!parent::beforeAction($action)) {
return false;
}
$content = [];
$id = Yii::$app->user->id;
$content = User::getGroup($id);
return true;
}
а в модели User:
public function getGroup($userID)
{
$array = SysAcl::find()->where(['userid' => $userID])->select(['groupid'])->asArray()->indexBy('id')->all();
$arr = [];
foreach ($array as $key => $value) {
$arr[$key] = $value['groupid'];
}
// возвращаем массив вида [id] => [groupid]
return $arr;
}
В результате получил id группы, но что дальше делать пока еще не знаю. Как вывести привязаный к группе контент? Если не знаете как yii2 это реализовать, то хотя бы подскажите как вы это делаете в другой MVC, чтобы хотя бы примерно понять как наследуется наше значение от базового контроллера к другим контроллерам.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Хочу создать сервис похожий на bookingcom
Не могу понять, в чем ошибкаПутем дебаггинга понял, что в итоге body = null
Скажите, пожалуйста, в чем ошибка? После отработки кода resultMap хранит всего одно значение с первой нити, почему не добавляются значения с других...
Подскажите пожалуйста где в Retofit можно посмотреть url запроса, с ключами, обязательными параметрами и тп