我想这样做在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