@e-hot

Авторизация в Symfony2 — User account is disabled. Как починить?

Приветствую всех. Нужна помощь - не могу разобраться со следующей ситуацией:
1. Перенес проект с локальной машины с env=dev ( app_dev.php ) на VDS-хостинг ( nginx+php5-fpm+mariadb+phpmyadmin+Symfony2 ) c env=prod ( app.php ).
2. Соединение с БД функционирует - этот момент протестил.
3. Авторизация: используется стандартный функционал Symfony ( сторонние библиотеки не применял ), шифрование bcrypt 12, провайдер - юзеры из БД.
4. Проблема: при авторизации выдает "User account is disabled" - по факту чего поизучал решения в инете - ничего не помогает, в БД.User значение is_active = 1 изначально, на локальной версии проекта подобных проблем не возникало.
5. Вопрос: подскажите, где что еще посмотреть, возможно, описанная проблема возникла из-за смены окружения с dev на prod. Заранее спасибо за помощь.
  • Вопрос задан
  • 275 просмотров
Решения вопроса 1
@jaxel
Ваш класс юзера должен реализовать Symfony\Component\Security\Core\User\AdvancedUserInterface для того, чтобы работать со стандартным компонентом security.

Согласно этому интерфейсу должен быть метод isEnabled(), возвращающий true. В противном случает возникает такая ошибка.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@e-hot Автор вопроса
Спасибо огромное за подсказку!!! Просмотрел у себя сущность User - в ней у меня все прописано как в документации - класс User реализуется от AdvancedUserInterface, есть метод isEnabled() - по идее все должно работать.
Посмотрел в БД в таблицу User, т.к. смутило в классе User описание:
/**
* @ORM\Column(name="is_active", type="integer")
*/
private $isActive;

в таблице User для is_active тип данных bit, изменил на boolean и в классе User в:
/**
* @ORM\Column(name="is_active", type="boolean")
*/
private $isActive;

- все заработало! Вот что значит невнимательность... Но странно, почему тогда у меня на локальной версии проекта не проявлялась такая ситуация...

Спасибо.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы