Я пытаюсь заставить свою аутентификацию пользователя работать из базы данных. Я следовал инструкциям из поваренной книги и настроил пользовательский объект. Мой пакет зарегистрирован в appKernel, и я использовал его раньше. Единственное, что изменилось, это новый Entity\User.php и изменения в security.yml. Я уверен, что это какая-то глупость, но хоть убей, не могу понять, что я делаю не так. Когда я выполняю cache:clear, я получаю следующее:
При просмотре app_dev.php:
Выдержка из app\src\MyFreelancer\PortalBundle\Entity\User.php
<?php
namespace MyFreelancer\PortalBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
use Doctrine\Common\Collections\Criteria;
use Doctrine\Common\Collections\ArrayCollection;
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
use Symfony\Component\Validator\Constraints as Assert;
use JMS\Serializer\Annotation as Ser;
use Gedmo\Mapping\Annotation as Gedmo;
use Symfony\Component\Security\Core\User\Role;
use Symfony\Component\Security\Core\User\AdvancedUserInterface;
/**
* User
*
* @ORM\Entity
* @ORM\Table(name="users")
* @Ser\ExclusionPolicy("all")
*/
class User implements AdvancedUserInterface, \Serializable
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
* @Ser\Expose
*/
private $id;
...
Выдержка из security.yml (который вызывает проблему):
providers:
main:
entity:
class: MyFreelancer\PortalBundle\Entity\User,
property: username
Как видите, сущность существует в правильной файловой структуре, пространство имен определено в файле сущности, класс определен как сущность, и Bundle зарегистрирован. Я не знаю, что мне не хватает.