限制多个用户的数据

时间:2018-11-14 14:39:57

标签: yii yii2-advanced-app

我添加了多个用户作为老师。而且我创建了一个表格,每个老师都在更新他的数据,例如文档等,但是当另一个老师登录时,他还可以查看该数据如何限制用户向其他用户显示?

1 个答案:

答案 0 :(得分:0)

您需要阅读有关Yii的更多信息,以及如何使用它。

对于您的情况,您可以阅读以下内容:add condition

对于您的问题,您可以在controller的操作中执行此操作:

0)确保用户登录:\Yii::$app->user->isGuest || //redirect to login page或通过Access control filters

1)从用户获取用户ID。 (\Yii::$app->user->identity->id

2)在教师文档查询中设置此ID。像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)Access control filters

2)RBAC