我有一个管理员继承用户角色的地方:
role_hierarchy:
ROLE_ADMIN: ROLE_USER
ROLE_SUPER_ADMIN: [ROLE_USER, ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH]
...
access_control:
- { path: ^/index, roles: ROLE_USER }
- { path: ^/items, roles: ROLE_USER }
- { path: ^/items/edit$, roles: ROLE_ADMIN }
我正在努力使编辑页面(以及编辑页面的所有内容...即./ items / edit / 1,/ items / edit / 2等)仅供管理员用户访问。
这不起作用,我以用户身份登录,我仍然可以查看编辑页面。
我做错了什么?
编辑:我刚刚想到的其他内容 - 一旦我开始工作,如何在拒绝访问的情况下定义将用户发送到哪个页面?可能是因为它现在不能正常工作,因为我没有指定在用户被拒绝访问页面的情况下该怎么办?
答案 0 :(得分:1)
从$
模式中删除^/items/edit
并将$
添加到^/items
模式。像这样:
- { path: ^/items$, roles: ROLE_USER }
- { path: ^/items/edit, roles: ROLE_ADMIN }
最后使用$
,您只能完全限制对/items/edit
网址的访问,而不是/items/edit/1
,2/items/edit/2
....