Есть ли более простой способ (или просто лучшая альтернатива), чем при проверке избирателей, чтобы убедиться, что пользователь действительно вошел в систему?
Пример:
protected function voteOnAttribute($attribute, $subject, TokenInterface $token)
{
switch ($attribute) {
case self::VIEW:
return $this->canView($subject, $token);
case self::EDIT:
return $this->canEdit($subject, $token);
case self::CREATE:
return $this->canCreate($token);
}
}
/**
* @param TokenInterface $token
* @return bool
*/
private function canCreate(TokenInterface $token)
{
if (!$token->getUser() instanceof User)
{
return false;
}
if ($token->getUser()->isEnabled() && !$token->getUser()->isFreeze())
{
return true;
}
return false;
}
Проблема I 'm Имеющий вытекает из $token->getUser()
возвращает строку, когда пользователь anon.а не фактическая сущность пользователя.
Это довольно легко сделать в контроллере с помощью $this->isGranted('IS_AUTHENTICATED_FULLY')
Я просто чувствую, что мне не хватает чего-то подобного, что может быть сделано внутри избирателей.