Я объявил свои роли с параметрами .yml, и я хочу получить к ним доступ из своего объекта User для функции getRoles (из UserInterface https://api.symfony.com/3.4/Symfony/Component/Security/Core/User/UserInterface.html#method_getRoles).
role_global_admin: ROLE_GLOBAL_ADMIN
role_admin: ROLE_ADMIN
role_manager: ROLE_MANAGER
Я хотел получить доступмои параметры благодаря определению сервиса, но я узнал, что это строго запрещено в symfony (для сущностей).У сущностей не должно быть зависимостей.
User.php
/**
* Returns the roles granted to the user.
*
* @return (Role|string)[] The user roles
*/
public function getRoles()
{
if (true === $this->isGlobalAdminRole()) {
return ['ROLE_GLOBAL_ADMIN'];
}
return null == $this->getSymfonyOrganigramRole() ? ['ROLE_MANAGER'] : [$this->getSymfonyOrganigramRole()];
}
Я хочу получить доступ к параметру role_global_admin, например, а не к его значению напрямую.getRoles () выполняется автоматически во время соединения, чтобы дать пользователю роль.
Как этого добиться, я хочу, чтобы мои роли были централизованы в файле параметров.
Спасибо