2014-11-06 33 views
0

頁面資源的問題我想有整個頁面訪問啓用僅當用戶登錄(除FOS用戶登錄頁面)使用FOSUserBundle

這是我如何設置訪問控制:

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

其中的CSS定位和你怎麼樣實現的呢?通常它應該就這樣工作。 CSS應該位於/ web文件夾內,不受路由或安全性的影響。 – Koalabaerchen 2014-11-06 12:01:11

+0

在我的包中通過樣式表中的base.html.twig實現。然後在web/bundles(在我的本地主機開發環境)上建立符號鏈接。 – 2014-11-06 12:03:48

+0

通過符號鏈接,你的意思是你有web/bundles中的實際文件,並且在鏈接到這些鏈接的資源束中有一個符號鏈接,並且你稱之爲符號鏈接? – Koalabaerchen 2014-11-06 12:07:28

回答

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 }