防火墙忽略了 Symfony 的注解
Symfony's annotations ignored by firewall
我在 Symfony 2.6.6 中有一个 AccountController.php
文件与 annotations 一起使用:
<?php
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Method;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Security;
/**
* @Route("/login", name="account_login")
* @Method({"GET", "POST"})
*/
public function loginAction(Request $request) {}
/**
* @Route("/login_check", name="account_login_check")
* @Method({"POST"})
*/
public function loginCheckAction() {}
/**
* @Route("/logout", name="account_logout")
* @Method({"GET"})
*/
public function logoutAction() {}
/**
* @Route("/register", name="account_register")
* @Method({"GET", "POST"})
*/
public function registerAction(Request $request) {}
我的 access_control 在防火墙中:
access_control:
- { path: ^/account/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/account/register, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/account/logout, roles: IS_AUTHENTICATED }
我尝试在 logoutAction 上使用 @Security("has_role('is_authenticated')")
,但是当我没有登录时(匿名)它仍然让我转到页面。
有没有办法以正确的方式使用@Security 锁定函数?当我使用注释时甚至需要我的防火墙吗?
谢谢。
这个呢?
- { path: ^/account/logout, roles: IS_AUTHENTICATED_FULLY }
我在 Symfony 2.6.6 中有一个 AccountController.php
文件与 annotations 一起使用:
<?php
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Method;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Security;
/**
* @Route("/login", name="account_login")
* @Method({"GET", "POST"})
*/
public function loginAction(Request $request) {}
/**
* @Route("/login_check", name="account_login_check")
* @Method({"POST"})
*/
public function loginCheckAction() {}
/**
* @Route("/logout", name="account_logout")
* @Method({"GET"})
*/
public function logoutAction() {}
/**
* @Route("/register", name="account_register")
* @Method({"GET", "POST"})
*/
public function registerAction(Request $request) {}
我的 access_control 在防火墙中:
access_control:
- { path: ^/account/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/account/register, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/account/logout, roles: IS_AUTHENTICATED }
我尝试在 logoutAction 上使用 @Security("has_role('is_authenticated')")
,但是当我没有登录时(匿名)它仍然让我转到页面。
有没有办法以正确的方式使用@Security 锁定函数?当我使用注释时甚至需要我的防火墙吗?
谢谢。
这个呢?
- { path: ^/account/logout, roles: IS_AUTHENTICATED_FULLY }