【问题标题】:How to protect api plateform operations with privileges如何用权限保护api平台操作
【发布时间】:2020-10-30 04:14:31
【问题描述】:

我有一个 api 平台项目 (symfony),其中包含一个具有列 Roles(array) 的实体用户,我有 3 个角色:ROLE_USER、ROLE_COMMERCIAL、ROLE_ADMIN,我正在保护我的操作,如下所示:

"get"={
     "access_control"="is_granted('ROLE_ADMIN')",
     "security_post_denormalize_message"="Sorry, Only admins can View Users List"
}

但是我想要实现的是给每个用户权限,例如一个用户可以查看用户列表但不能编辑它,我想稍后为每个用户编辑权限,这就是我不想使用角色的原因柱子。我想到了这个表结构:

  • 用户(id,user_name,role_id)
  • 角色(role_id,role_name)
  • 权限(id,priv_name, role_id)

【问题讨论】:

    标签: php symfony roles api-platform.com


    【解决方案1】:

    你们结帐选民(https://symfony.com/doc/master/security/voters.html)。它不会完全像您想要的那样,但它是授予权限的最简单方法,在您的情况下允许用户查看列表但不能编辑它。

    【讨论】:

      猜你喜欢
      • 2021-08-08
      • 1970-01-01
      • 1970-01-01
      • 2022-10-13
      • 2012-10-30
      • 2012-09-05
      • 2021-04-28
      • 2023-03-18
      • 1970-01-01
      相关资源
      最近更新 更多