【发布时间】:2015-01-09 03:58:59
【问题描述】:
我正在尝试为我的 security.yml 设置自定义角色,因此登录后用户可以或无法访问主页(我使用 ActiveDirectory)。
我只想创建一个角色:ROLE_GUEST
这是我的 security.yml 文件:
role_hierarchy:
ROLE_GUEST: ROLE_GUEST
ROLE_USER: [ROLE_GUEST, ROLE_USER]
ROLE_ADMIN: [ROLE_GUEST, ROLE_USER, ROLE_ADMIN]
ROLE_SUPER_ADMIN: [ROLE_GUEST, ROLE_USER, ROLE_ADMIN, ROLE_SUPER_ADMIN]
如果我理解得很好,这就是我解读这些角色的方式:
- 具有“ROLE_GUEST”角色的用户只能看到需要“ROLE_GUEST”的页面
- 具有“ROLE_USER”角色的用户还可以看到任何需要“ROLE_GUEST”的页面
- “具有“ROLE_ADMIN”角色的用户还可以看到任何需要“ROLE_GUEST”和“ROLE_USER”的页面”
- 等等……
然后,我将 access_control 设置如下:
access_control:
- { path: ^/$, role: ROLE_USER }
我在这个 access_control 中想要的是将主页的访问权限限制为仅 ROLE_USER。当用户第一次登录时,我已经将默认角色设置为 ROLE_GUEST。但是即使我像上面那样设置 ROLE_USER,我也可以使用具有 ROLE_GUEST 的用户访问主页。
知道如何让这个工作吗?
谢谢!
【问题讨论】: