EasyAdminBundle-按角色和组列出的用户列表

时间:2019-10-04 13:06:31

标签: symfony symfony4 easyadmin

我正在尝试使用EasyAdminBundle(https://github.com/EasyCorp/EasyAdminBundle)来管理项目的管理部分。

我目前正在列出用户列表,效果很好。我会得到所有现有用户的列表

但是,用户都是按组分配的,在这些组中有“主管”。我想做的是,这些“ ROLE_SUPERVISOR”是对用户管理页面的访问,但他们只能看到同一组的用户。

总结一下我想要什么: -我(ROLE_SUPER_ADMIN):我想查看所有现有用户 -ROLE_SUPERVISOR:与他们在同一组中的所有用户。

这可能吗?

我的EasyAdminBundle配置文件:

easy_admin:
  site_name: '<img height="65px" src="../img/logo.png" />'
  user:
    display_name: true
    name_property_path: 'username'
    display_avatar: false
  design:
    brand_color: '#7C1AE8'
    menu:
      - { entity: 'User', css_class: 'menu--user', icon: 'user', role: [ROLE_SUPERVISEUR, ROLE_SUPER_ADMIN] }
  entities:
    User:
      class: App\Entity\User
      label: 'Utilisateurs'
      list:
        title: "Liste des utilisateurs"
        fields:
          - email
          - { property: 'username', label: "Nom d'utilisateur" }
          - { property: 'group.name', label: "Groupe" }
          - { property: 'lastLogin', label: "Dernière connexion", format: 'd/m/Y H:i:s', type: 'datetime' }
        sort: 'group.name'

1 个答案:

答案 0 :(得分:0)

item_permission

easy_admin:
    ...
    entities:
        Product:
            list:
                # set this option to an empty string or array to unset the global permission for this entity
                item_permission: ''
        Employees:
            list:
                # this completely overrides the global option (both options are not merged)
                item_permission: ['ROLE_SUPER_ADMIN', 'ROLE_HUMAN_RESOURCES']

请参阅文档https://symfony.com/doc/master/bundles/EasyAdminBundle/book/list-search-show-configuration.html#security-and-permissions