我可以在没有SonataUserBundle的情况下保护SonataAdmin吗?

时间:2017-05-25 18:41:39

标签: symfony security sonata-admin

我想在不使用SonataUserBundle的情况下保护SonataAdmin,原因是:

  1. 我使用Symfony最新版本和SonataUserBundle需要使用PHP 7,我无法更新到php 7(公司政策)

  2. SonataUserBundle的早期版本需要Symfony 2.7或更低版​​本,我已经离项目太远了,无法降级symfony。

  3. 用户身份验证通过CAS完成并且正在运行,但在尝试访问/ admin时,我会重定向回/ login

    对我来说,角色访问将绰绰有余,正如Sonata在https://sonata-project.org/bundles/admin/master/doc/reference/security.html

    中所指示的那样

    为了保护管理员,我使用Symfony标准方法保护路由:

    access_control:
       - { path: ^/admin, role: [ROLE_USER, ROLE_STAFF, ROLE_ADMIN, ROLE_SUPER_ADMIN, ROLE_SOCIAL_WORKER_SUPER_ADMIN] }
    

    非常感谢此处的任何指导。

    由于

1 个答案:

答案 0 :(得分:0)

SonataUserBundle并不需要Sonata的其余部分才能运行 - 它只是增加了功能。您只需使用标准的Symfony访问控制防火墙即可保护它。

我有一个历史悠久的应用程序,最初来自2.7早期,现在3.2.8与SonataAdmin一起使用,而SonataUserBundle的唯一提及是{{1}的建议} "用于用户时区检测"