限制多个用户的数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了限制多个用户的数据相关的知识,希望对你有一定的参考价值。

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

答案

您需要了解更多关于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

以上是关于限制多个用户的数据的主要内容,如果未能解决你的问题,请参考以下文章

多个用户访问同一段代码

限制多个用户的数据

在 Android 中使用具有多个布局的单个片段

如何在单个集群环境中将 Redshift 用户/组限制为多个数据库中的单个数据库

如何设置x和y移动动画片段的最大/限制?

用于数据加载的 Android 活动/片段职责