Symfony2安全性@Secure注释无法正常工作

Dan*_*ndy 3 php security symfony

我正在尝试使用注释来保护我的控制器:

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()
    {
     ...
Run Code Online (Sandbox Code Playgroud)

但我似乎无法让我的控制器实际上受到保护.是否有任何可以忽略的情况?

Dan*_*ndy 12

在一个几乎完全不相关的说明中,我的问题不是源于我的配置或控制器中的任何问题,而是从Symfony 2.0到Symfony 2.1的交换混合.我没有注册JMSDiExtraBundle,它正在默默地削弱JMSSecurityExtraBundle(以及其他人的)注释.

在我的AppKernel.php中,我一直在想:

public function registerBundles()
{
    $bundles = array(
    ...
    new JMS\DiExtraBundle\JMSDiExtraBundle($this),
    ...
Run Code Online (Sandbox Code Playgroud)

随之而来的一切都很好.