symfony2 JMS额外安全包@secure控制器

时间:2015-01-28 23:23:24

标签: security symfony annotations

我试图在我的控制器上使用JMS安全捆绑包,但它不起作用。 我包括所有必需的包

//...
new JMS\AopBundle\JMSAopBundle(),
new JMS\SecurityExtraBundle\JMSSecurityExtraBundle(),
new JMS\DiExtraBundle\JMSDiExtraBundle($this),
//...

这是我的配置

jms_security_extra:
    secure_all_services: false
    enable_iddqd_attribute: false
    expressions: true
    voters:
        disable_authenticated: false
        disable_role:          false
        disable_acl:           false
    method_access_control: { }
    util:
        secure_random:
            connection: default
            table_name: security_users

这是我真正基本的控制器

namespace AppBundle\Controller;

use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use JMS\SecurityExtraBundle\Annotation\Secure;

class AppController extends Controller
{
    /**
     * @Route("", name="interne_homepage")
     * @Secure(roles="ROLE_ADMIN")
     */
    public function indexAction()
    {
        return $this->render('App/homepage.html.twig');
    }
}

无论我尝试什么角色,它都永远不会被阻止,访问总是被授予。我做错了什么 ?非常感谢!

1 个答案:

答案 0 :(得分:0)

旧话题,但第二个Google结果。我有同样的问题,解决方案是:清除缓存(php app / console cache:clear)