我正在尝试使用注释来保护我的控制器:
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), ...
随之而来的一切都很好.