簡體   English   中英

Symfony2-在身份驗證提供程序中獲取EntityManager

[英]Symfony2 - get EntityManager in Auth Provider

我創建了一個自定義身份驗證提供程序。 有沒有辦法在auth提供程序或偵聽器中獲取實體管理器?

我知道您可以在UserProvider中獲得它,但是事實是我只想在憑據正確時才刷新用戶(我對Windows Server Active Directory進行身份驗證)

是的,您可以在服務定義中注入實體管理器,例如:

services:
    wsse.security.authentication.provider:
        class: Acme\DemoBundle\Security\Authentication\Provider\WsseProvider
        arguments: ["", "%kernel.cache_dir%/security/nonces", "@doctrine.orm.entity_manager"]

然后在WsseProvider中調整__construct方法:

private $em;

public function __construct(UserProviderInterface $userProvider, $cacheDir, EntityManager $em)
{
    $this->userProvider = $userProvider;
    $this->cacheDir     = $cacheDir;
    $this->em           = $em;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM