我希望仅在用户登录时启用整个页面访问权限(FOS用户登录页面除外)
这是我设置访问控制的方式:
access_control:
- { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/, role: ROLE_ADMIN }
但问题在于它现在会阻止我的所有脚本。 CSS和JS不可用,因此登录页面没有样式!如果我删除:
- { path: ^/, role: ROLE_ADMIN }
从访问控制一切正常,登录页面的样式。任何关于如何将整个页面放在"锁定" (登录页面除外)但仍然显示样式(CSS)?
答案 0 :(得分:1)
您的js
,css
和bundles
目录的路径被您的访问控制捕获,表明该用户必须是ROLE_ADMIN
。要对此进行排序,您只需使用^/
等IS_AUTHENTICATED_ANONYMOUSLY
规则在access_control:
- { path: ^/css, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/js, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/bundles, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/, role: ROLE_ADMIN }
规则上方添加这些目录的规则。
{{1}}