我想這樣做在security.yml文件:Symfony2的安全角色
access_control:
- { path: ^/admin, roles: ROLE_ADMIN }
- { path: ^/admin, roles: ROLE_EMPLEADO}
這意味着我想有兩個角色訪問相同的URL模式。
我做的沒有工作,它總是隻給ROLE_ADMIN權限,當我用ROLE_EMPLEADO訪問相同的URL時,它說拒絕訪問。
我該如何做到這一點?
我想這樣做在security.yml文件:Symfony2的安全角色
access_control:
- { path: ^/admin, roles: ROLE_ADMIN }
- { path: ^/admin, roles: ROLE_EMPLEADO}
這意味着我想有兩個角色訪問相同的URL模式。
我做的沒有工作,它總是隻給ROLE_ADMIN權限,當我用ROLE_EMPLEADO訪問相同的URL時,它說拒絕訪問。
我該如何做到這一點?
這裏你是如何做到的:
- { path: "^/admin", role: ["ROLE_ADMIN", "ROLE_EMPLEADO"] }
這將允許兩個角色訪問s ame網址。
您應該創建一個角色層次(見http://symfony.com/doc/2.0/book/security.html#hierarchical-roles)
security:
roles_hierarchy:
ROLE_EMPLEADO: ROLE_ADMIN
基本上是指與角色ROLE_EMPLEADO用戶也有一定作用ROLE_ADMIN,然後是足以說:
access_control:
- { path: ^/admin, roles: ROLE_ADMIN }
非常感謝您的回答:),但等級角色不符合我的需求。我需要empleado成爲empleado。如果我把ROLE_EMPLEADO:ROLE_ADMIN,那麼empleado也是管理員,我也不會有這樣的東西:如果你是empleado,打印這個,如果你是管理員,打印這個,因爲empleado是兩個。 – 2012-03-08 14:15:59
謝謝。正是我需要的:) – 2012-03-08 14:16:58