2013-03-08 84 views
4

我在硅石工作身份验证系统使用ORM的学说,并在下面的架构这个文档​​有信息Silex的身份验证系统听起来好像是:与学说ORM

“如果你正在使用的学说ORM的用于Doctrine的Symfony桥提供了一个用户提供者类,它能够从您的实体中加载用户。“

我正在使用Dotrine ORM提供程序,所以我决定使用EntityUserProvider类来处理来自Symfony \ Bridge \ Doctrine \ Security \ User的类,并且问题在于此类的构造函数作为第一个参数具有“ManagerRegistry $ registry”。

我应该从那里放置什么?有没有专门的服务或对象?

回答

1

在Symfony2的情况下,并根据教义和Symfony的学说桥的源代码,你将需要注入的服务,称为doctrine这需要一个connection,一个entity managerdefault connectiondefault entity manager作为参数。该服务在vendor\{...}\Doctrine\Bundle\DoctrineBundle\Resources\config\dbal.xml中定义。

(此服务是其延伸,其延伸的是最后实现接口Doctrine\Common\Persistence\ManagerRegistry其是类型暗示类Doctrine\Common\Persistence\AbstractManagerRegistry抽象类Symfony\Bridge\Doctrine\ManagerRegistryDoctrine\Bundle\DoctrineBundle\Registry一个实例。)

如在第几行中提到Silex providers documentation according Doctrine,ORM服务不提供。由于您正在使用自定义提供程序来使用ORM,因此您需要向此doctrine服务注入等效项。