1
我正在使用FOSUserBundle,現在我正在嘗試角色和訪問控制。角色和access_control fosuserbundle
我試圖創建一個新角色,更改我的用戶的角色,然後訪問具有受限訪問權限的頁面。
security.yml:
security:
encoders:
FN\UserBundle\Entity\User: sha512
role_hierarchy:
ROLE_USER_CONFIRMED: ROLE_USER
ROLE_ADMIN: [ROLE_USER, ROLE_USER_CONFIRMED]
ROLE_SUPER_ADMIN: [ROLE_USER, ROLE_USER_CONFIRMED, ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH]
providers:
main:
id: fos_user.user_provider.username
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
main_login:
pattern: ^/login$
anonymous: true
main:
pattern: ^/
anonymous: true
provider: main
form_login:
login_path: fos_user_security_login
check_path: fos_user_security_check
always_use_default_target_path: false
default_target_path: /client/home
target_path_parameter: _target_path
use_referer: false
logout:
path: fos_user_security_logout
target: /home
remember_me:
key: %secret%
access_control:
- { path: ^/client, roles: ROLE_USER_CONFIRMED }
- { path: ^/admin, roles: ROLE_ADMIN }
我改變了我的用戶的角色與$user->setRoles(array('ROLE_USER_CONFIRMED'));
在我的數據庫,用戶的角色改變很好,但是當我點擊用戶FOSUserBundle工具欄上,我用戶停留在ROLE_USER。當我進入頁面:「xxx/client/home」時,我有一個ACCESS DENIED頁面。
你知道爲什麼我的數據庫中的角色發生了很好的變化,但是我無法打開頁面嗎?