Безопасность Symfony2 @ Без комментариев аннотация не работает

Я пытаюсь использовать аннотации для защиты своих контроллеров:

namespace Vinny\StreamBundle\Controller; use Symfony\Bundle\FrameworkBundle\Controller\Controller; use JMS\SecurityExtraBundle\Annotation\Secure; use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; class HomeController extends Controller { /** * @Route("/home", name="home") * @Secure(roles="ROLE_USER") */ public function indexAction() { ... 

Но я не могу заставить мои контроллеры быть на самом деле обеспечены. Есть ли случаи, когда это игнорируется?

Что касается почти полностью несвязанной ноты, проблема с моей проблемой связана не с чем-либо в моей конфигурации или контроллере, а с переходом от Symfony 2.0 к Symfony 2.1. Я не смог зарегистрировать JMSDiExtraBundle, который молча исказил аннотации JMSSecurityExtraBundle (и другие).

В моем AppKernel.php я отсутствовал:

 public function registerBundles() { $bundles = array( ... new JMS\DiExtraBundle\JMSDiExtraBundle($this), ... 

С этим все работает отлично, снова.

Вам нужно попробовать с ROLE_ADMIN или ROLE_SUPER а затем посмотреть, защищен ли он или нет. ROLE_USER – это роль глухоты, применяемая ко всем пользователям, поэтому разрешены

 @Secure(roles="ROLE_SUPER")