簡體   English   中英

symfony 3 Distrine LIstener服務注入token_storage不起作用

[英]symfony 3 Doctrine LIstener service inject token_storage doesnt work

我有一個學說偵聽器,它需要獲取當前登錄的用戶。

class DoctrineListener
{
    /**
     * @var null|TokenInterface
     */
    private $token;

    /**
     * DoctrineListener constructor.
     *
     * @param TokenStorageInterface $tokenStorage
     */
    public function __construct(TokenStorageInterface $tokenStorage)
    {
        $this->token = $tokenStorage->getToken();

        var_dump($this->token);
    }

在我的service.yml中:

doctrine.listener:
    class: AppBundle\EventListener\DoctrineListener
    arguments:
      - '@security.token_storage'
    public: false
    tags:
      - { name: doctrine.event_listener, event: preFlush, method: preFlush }

當我嘗試在此偵聽器中使用轉儲時,轉儲總是返回null。 我將token_storage_service注入其他服務中,並且效果很好。

我使用的是symfony 3.1,帶有其余的API。 然后我將我的授權標頭發送給Postman。

有人可以告訴我我的代碼有什么問題嗎?

提前致謝。

嘗試在preFlush方法中而不是在構造函數中調用$tokenStorage->getToken()

暫無
暫無

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

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