В symfony 4.4 не работает supportsClass в UserProvider
После обновления до symfony 4.4 обнаружил что сломалась авторизация на сайте. При попытке авторизоваться получаю ошибку:
There is no user provider for user "App\Security\UserIdentity". Shouldn't the "supportsClass()" method of your user provider return true for this classname?
Метод supportsClass() в классе UserProvider имеет такой вид:
namespace App\Security;
use App\ReadModel\User\AuthView;
use App\ReadModel\User\UserFetcher;
use Symfony\Component\Security\Core\Exception\UnsupportedUserException;
use Symfony\Component\Security\Core\Exception\UsernameNotFoundException;
use Symfony\Component\Security\Core\User\UserInterface;
use Symfony\Component\Security\Core\User\UserProviderInterface;
class UserProvider implements UserProviderInterface
{
...
public function supportsClass($class): bool
{
dump($class);
return $class instanceof UserIdentity;
//return true;
}
С помощью функции дамп получаю в профайлере, что параметр $class прилетает такой:
"App\Security\UserIdentity"
Подскажите, где ошибка?
Ответы (1 шт):
Автор решения: Алексей
→ Ссылка
Попробуй сравнить с абсолютным именем класса:
public function supportsClass($class): bool
{
return $class === UserIdentity::class;
}