我想为每个应用程序捆绑添加一些ROLE用户。
为此,我已阅读以下文章: https://symfony.com/doc/3.4/bundles/prepend_extension.html
我已经适应了:
/**
* Load Role Hierarchy in security applications
*
* @param ContainerBuilder $container
*/
public function prepend(ContainerBuilder $container)
{
$container->prependExtensionConfig('security', array(
'role_hierarchy' => array(
// Entity - Company
'ROLE_COMPANY_READ' => 'ROLE_USER',
'ROLE_COMPANY_WRITE' => 'ROLE_COMPANY_READ',
'ROLE_COMPANY_TOTAL' => 'ROLE_COMPANY_WRITE',
),
));
}
有了这个,我可以在我的应用程序中使用这些角色。
然后,当我创建管理员用户时,必须将每个ROLE _ * _ TOTAL添加到组权限。 我的SUPER_ADMIN用户也是如此。
我搜索了动态更新ROLE_ADMIN数组的解决方案,并向数组权限添加了一个ROLE。
如果我全部写在security.yml中,结果是:
role_hierarchy:
ROLE_COMPANY_READ: ROLE_USER
ROLE_COMPANY_WRITE: ROLE_COMPANY_READ
ROLE_COMPANY_TOTAL: ROLE_COMPANY_WRITE
ROLE_ADMIN: [ROLE_COMPANY_TOTAL]
ROLE_SUPER_ADMIN: [ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH]