Ограничить данные для нескольких пользователей - PullRequest
0 голосов
/ 14 ноября 2018

Я добавляю несколько пользователей в качестве учителя. И я создаю таблицу, в которой каждый учитель обновляет свои данные, которые являются документами и т. Д., Но когда другой учитель входит в систему, он также может просматривать эти данные, как пользователь может ограничить их показ другим пользователям?

1 Ответ

0 голосов
/ 14 ноября 2018

Вам нужно больше узнать о Yii и о том, как вы можете его использовать.

Для вашего случая вы можете прочитать это: добавить условие

По вашему вопросу вы можете сделать это в своем действии в controller :

0) убедитесь, что пользователь вошел в систему: \Yii::$app->user->isGuest || //redirect to login page или через Фильтры контроля доступа

1) получить идентификатор пользователя от пользователя. (\Yii::$app->user->identity->id)

2) установить этот идентификатор в запросе документа учителя. как andWhere(['teacher_id' => $userId]);

public function actionViewDoc()
    {   $userId = \Yii::$app->user->identity->id;
        $model = TeacherDoc::find()->andWhere(['teacher_id' => $userId]);

        return $this->render('viewDoc', [
            'model' => $model,
        ]);
    }

Это решит вашу проблему.

UPD: для более продвинутых решений вы можете использовать:

1) Фильтры контроля доступа

2) RBAC .

...