使用FOSUserBundle的页面资源问题

时间:2014-11-06 11:25:43

标签: symfony fosuserbundle symfony-routing symfony-security

我希望仅在用户登录时启用整个页面访问权限(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)?

1 个答案:

答案 0 :(得分:1)

您的jscssbundles目录的路径被您的访问控制捕获,表明该用户必须是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}}