Symfony Security - проверка роли пользователя в конструкторе сервиса - PullRequest
0 голосов
/ 05 января 2019

Мне нужно проверить, есть ли у пользователя права администратора в сервисе. Функция, которая вызывается в этом сервисе, может быть вызвана целую кучу раз для одного запроса. Можно проверить роль пользователя один раз и сохранить результат следующим образом:

class myService
{
    private $accessGranted;

    public function __construct(Security $security)
    {
          // user might not be set up yet?
          $accessGranted = $security->isGranted('ROLE_ADMIN');
    }

    public function someFunctionWithSecurity()
    {
        if( $accessGranted )
            // do the admin stuff here
        else
            // do slightly different stuff here
    }    
}

Кажется, это работает нормально, когда я тестирую его локально. Мне было интересно, если что-то не так с этой настройкой, или это приведет к странным / нежелательным результатам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...