我试图在我的控制器上使用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');
}
}
无论我尝试什么角色,它都永远不会被阻止,访问总是被授予。我做错了什么 ?非常感谢!
答案 0 :(得分:0)
旧话题,但第二个Google结果。我有同样的问题,解决方案是:清除缓存(php app / console cache:clear)