簡體   English   中英

Symfony在過濾器未報告身份驗證令牌之前

[英]Symfony Before filter not reporting the authentication token

我試圖在過濾之前創建一個symfony:到目前為止,我使用了本指南
http://symfony.com/doc/current/event_dispatcher/before_after_filters.html

這是代碼的重要部分

// src/AppBundle/EventListener/LoginListener.php
class LoginListener {
private $tokens_storage;

public function __construct($tokens_storage) {
    $this->tokens_storage = $tokens_storage;
}

public function onKernelController(FilterControllerEvent $event) {
    $controller = $event->getController();

    dump($this->tokens_storage->getToken());

    /*
        ...
    */

    return;
}

// app/config/services.yml
app.tokens.LoginListener:
    class: AppBundle\EventListener\LoginListener
    arguments: ["@security.token_storage"]
    tags:
        - { name: kernel.event_listener, event: kernel.controller, method: onKernelController }

現在,根據轉儲,$ this-> tokens_storage-> getToken()返回null,但根據屏幕底部的探查器欄,我通過UsernamePasswordToken進行了身份驗證。
我該如何檢索該令牌?

編輯:如果我從控制器訪問令牌存儲,則正確填充TokenStorage內的令牌

我發現在偵聽器啟動之前正確填充TokenStorage的唯一可靠方法是禁用dev防火牆;
我實際上並不知道這可能會在開發過程中產生什么樣的問題,但至少現在它起作用了

暫無
暫無

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

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