2013-03-08 77 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服務注入等效項。