yii 限制多个用户的数据

eufgjt7s  于 2022-11-09  发布在  其他
关注(0)|答案(1)|浏览(125)

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

cmssoen2

cmssoen21#

您需要阅读更多关于Yii的内容,以及如何使用它。
对于您的案例,您可以阅读以下内容:add condition
对于您的问题,您可以在controller中的操作中执行此操作:
0)确保用户已登录:\Yii::$app->user->isGuest || //redirect to login page或通过访问控制过滤器
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)访问控制筛选器
2)基于角色的访问控制。

相关问题