【发布时间】:2019-07-20 23:00:03
【问题描述】:
我知道有一种方法可以在 symfony 应用程序上创建和管理自定义角色,但我没有找到任何文档或教程,所以我尝试独自完成,但没有成功。这是我所做的:
role_hierarchy:
ROLE_TEST:
ROLE_USER: ROLE_TEST
ROLE_ADMIN: ROLE_USER
ROLE_TEST 的角色应该低于ROLE_USER,并且我的被授予ROLE_TEST 的用户可以访问受@IsGranted("ROLE_USER") 保护的方法(他们不会这样做)
所以我的问题是缺少什么?
【问题讨论】:
-
我想你想错了。您的设置应该意味着: ROLE_USER 将能够访问受 @IsGranted("ROLE_TEST") 保护的方法,以便能够做您想做的事情,也许您可以切换角色 ROLE_USER: ROLE_TEST: ROLE_USER ROLE_ADMIN: ROLE_TEST
-
删除你的 role_hierarchy 中的第一行
-
当然可以,但是 ROLE_TEST 不应该访问受 @IsGranted("ROLE_USER") 保护的方法
-
哦,你的意思是他们确实有访问权限,但他们不应该。我知道了。您是否安装了
debug-pack并在页面底部有工具栏?如果是这样,请单击安全图标(它应该显示登录用户的名称)。在安全选项卡上,请检查用户拥有哪些角色以及哪些选民授予了权限。 -
数据库说我有 ["ROLE_LESSEE"],但调试工具栏说:
Roles [▼ "ROLE_LESSEE" "ROLE_USER" ] Inherited Roles [▼ "ROLE_LESSEE" ]所以现在我明白是什么问题了,谢谢!我会试着找出他来自哪里
标签: php symfony permissions symfony4 roles