用戶可能具有多個角色,例如, ROLE_USER, ROLE_SUBSCRIBTION_FOO, ROLE_SUBSCRIBTION_BAR
。現在具有多個角色的用戶,訪問始終被拒絕
- { path: ^/admin/helpdesk/foo, roles: ROLE_SUBSCRIPTION_FOO }
- { path: ^/admin/helpdesk/index, roles: ROLE_ADMIN }
角色層次
role_hierarchy:
ROLE_ADMIN: ROLE_USER
ROLE_SUBSCRIBTION_FOO: ROLE_ADMIN
ROLE_SUPER_ADMIN: ROLE_ADMIN
的問題是,當用戶的角色ROLE_SUBSCRIBTION_FOO
和訪問/admin/helpdesk/foo
訪問被拒絕:
根據他們的角色我定義訪問控制列表。用戶具有ROLE_ADMIN和ROLE_SUBSCRIBTION_FOO。然而,當我有
- { path: ^/admin/helpdesk/foo, roles: ROLE_ADMIN }
它的工作原理,但我需要它是
- { path: ^/admin/helpdesk/foo, roles: ROLE_SUBSCRIPTION_FOO }
不工作,howeve用戶確實有作用?這是有點we。。任何想法的問題是?
你確定你正在測試的用戶有'ROLE_ADMIN'而不是'ROLE_SUPER_ADMIN'嗎?因爲用你的實際設置,具有'ROLE_SUPER_ADMIN'的用戶不具有'ROLE_SUBSCRIBTION'。 – Mick 2013-02-25 16:01:29
不,用戶角色a:2:{i:0; s:10:「ROLE_ADMIN」; i:1; s:21:「ROLE_SUBSCRIBTION_FOO」;}是我正在測試的用戶 – 2013-02-25 16:04:03
好吧,看起來不錯。你是否檢查過用戶是否在會話中也有這些角色?不只在數據庫中? – Mick 2013-02-25 16:25:31