我有一个项目,您可以在登录后注册,登录和上传带有说明和姓名的照片。我使用过访问控制过滤器,因此只有注册用户才能上传和编辑照片。
问题是每个注册用户都可以更改照片的描述和名称,即使他们没有上传。
如何确保用户只能编辑自己照片的说明?
在yii2 doc中,我看到了RBAC,但我不认为我需要RBAC,因为我不需要很多角色。
我只需要1个角色,而且我的项目对于使用RBAC来说太简单了。我还认为我可以执行一个循环,我可以检查用户是否拥有照片,但我不认为这是一个很好的做法。
答案 0 :(得分:0)
我假设您有一张桌子和一张包含所有上传图片数据的模型。我建议您在该模型中添加BlameableBehavior并添加created_by
和updated_by
属性(或配置自定义属性)。
之后,在运行任何actionUpdate()
和actionDelete()
之前,您可以检查当前用户的ID是否与创建者相同。