小编boo*_*erV的帖子

Symfony:在事件侦听器中检查用户授权

我是 Symfony 的新手(目前使用 Symfony 3.2),我正在学习如何创建事件侦听器以在每个控制器之前运行我的随机函数。我的目标是通过 isGranted() 函数检查用户是否已登录。看看我的代码

服务.yml

> 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

2
推荐指数
1
解决办法
3994
查看次数

标签 统计

symfony ×1