Аннотации Symfony игнорируются брандмауэром

у меня есть AccountController.php файл в Symfony 2.6.6, который работает с аннотации:

<?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 }

Я пытался с помощью @Security("has_role('is_authenticated')") на logoutAction, но когда я не вошел (анон.), он все еще позволяет мне перейти на страницу.

Есть ли способ заблокировать функцию с @Security на правильный путь? Нужен ли мой брандмауэр, когда я использую аннотации?

Благодарю.

0

Решение

Как насчет этого?

- { path: ^/account/logout, roles: IS_AUTHENTICATED_FULLY }
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]