我是 Symfony 的新手(目前使用 Symfony 3.2),我正在学习如何创建事件侦听器以在每个控制器之前运行我的随机函数。我的目标是通过 isGranted() 函数检查用户是否已登录。看看我的代码
> parameters:
> # parameter_name: value
>
> services:
> app.form_login_authenticator:
> class: AppBundle\Security\FormLoginAuthenticator
> arguments: ["@router", "@security.password_encoder"]
> app.init.action_listener:
> class: AppBundle\EventListener\InitListener
> tags:
> - { name: kernel.event_listener, event: kernel.controller, method: onKernelController }
Run Code Online (Sandbox Code Playgroud)
> <?php namespace AppBundle\EventListener;
>
> use AppBundle\Controller\InitController; use
> Symfony\Component\HttpKernel\Exception\AccessDeniedHttpException; use
> Symfony\Component\HttpKernel\Event\FilterControllerEvent; use
> Symfony\Component\HttpFoundation\Session\Session;
>
> class InitListener {
>
> public function onKernelController(FilterControllerEvent $event)
> {
> $controller = $event->getController();
>
> …Run Code Online (Sandbox Code Playgroud) symfony ×1