Yii2 简单授权,1 个角色



我有一个项目,您可以在登录后注册、登录和上传带有描述和名称的照片。我使用了访问控制过滤器,因此只有注册用户才能上传和编辑照片。

问题是每个注册用户都可以更改照片的描述和名称,即使他们没有上传。

如何确保用户只能编辑自己照片的说明?

在 yii2 文档中,我看到了 RBAC,但我不认为我需要 RBAC,因为我不需要很多角色。

我只需要 1 个角色,我的项目对于使用 RBAC 来说太简单了。我还认为我可以执行一个循环,在那里我可以检查用户是否拥有照片,但我认为这不是一个好的做法。

我假设你有一个表格和一个模型,其中包含所有上传的图像数据。我建议您在该模型中添加 BlameableBehavior,并添加created_byupdated_by属性(或配置自定义属性)。

之后,在运行任何actionUpdate()actionDelete()之前,您可以检查当前用户的 id 是否与创建者相同。

最新更新