我想在不使用SonataUserBundle的情况下保护SonataAdmin,原因是:
我使用Symfony最新版本和SonataUserBundle需要使用PHP 7,我无法更新到php 7(公司政策)
SonataUserBundle的早期版本需要Symfony 2.7或更低版本,我已经离项目太远了,无法降级symfony。
用户身份验证通过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] }
非常感谢此处的任何指导。
由于
答案 0 :(得分:0)
SonataUserBundle并不需要Sonata的其余部分才能运行 - 它只是增加了功能。您只需使用标准的Symfony访问控制防火墙即可保护它。
我有一个历史悠久的应用程序,最初来自2.7早期,现在3.2.8与SonataAdmin一起使用,而SonataUserBundle的唯一提及是{{1}的建议} "用于用户时区检测" 。