Symfony2 默认授予 de ROLE_USER 吗?
Does Symfony2 grants de ROLE_USER by default?
我在 security.yml 中的角色层次结构是这样的:
role_hierarchy:
ROLE_API: ROLE_USER
ROLE_SUPERVISOR: ROLE_USER
ROLE_DIRECTOR: ROLE_SUPERVISOR
ROLE_SUPER_ADMIN: [ROLE_DIRECTOR, ROLE_API]
我正在添加一个名为 ROLE_RETAILER 的新角色,它没有继承。所以我没有把它放在 role_hierarchy 部分。
当我使用只有 ROLE_RETAILER 的用户登录时,也会授予 ROLE_USER。
在数据库中,角色字段包含:
a:1:{i:0;s:13:"ROLE_RETAILER";}
并检查已登录用户的分析器显示:
我需要摆脱那个 ROLE_USER,否则我将不得不重写访问控制列表并修改某些控制器的代码。
如果您使用的是 FOSUserBundle,所有用户都默认授予 ROLE_USER,即使它没有存储在数据库中。
有关 FOSUserBundle 如何分配角色的详细信息,请参阅 。
除非您需要它的所有功能,否则恕我直言,FOSUserBundle 可能有点矫枉过正。
根据此处的文档
http://symfony.com/doc/current/security.html
1) Initial security.yml Setup (Authentication)
# app/config/security.yml
security:
providers:
in_memory:
memory: ~
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
default:
anonymous: ~
默认设置匿名。
否则,您可能需要在此处查看本教程
https://knpuniversity.com/screencast/symfony2-ep2/roles-disabling-user
关于设置您自己的默认角色处理
public function getRoles()
{
return $this->roles;
}
public function setRoles(array $roles)
{
$this->roles = $roles;
// allows for chaining
return $this;
}
public function getRoles()
{
$roles = $this->roles;
$roles[] = 'ROLE_RETAILER';
return array_unique($roles);
}
我在 security.yml 中的角色层次结构是这样的:
role_hierarchy:
ROLE_API: ROLE_USER
ROLE_SUPERVISOR: ROLE_USER
ROLE_DIRECTOR: ROLE_SUPERVISOR
ROLE_SUPER_ADMIN: [ROLE_DIRECTOR, ROLE_API]
我正在添加一个名为 ROLE_RETAILER 的新角色,它没有继承。所以我没有把它放在 role_hierarchy 部分。
当我使用只有 ROLE_RETAILER 的用户登录时,也会授予 ROLE_USER。
在数据库中,角色字段包含:
a:1:{i:0;s:13:"ROLE_RETAILER";}
并检查已登录用户的分析器显示:
我需要摆脱那个 ROLE_USER,否则我将不得不重写访问控制列表并修改某些控制器的代码。
如果您使用的是 FOSUserBundle,所有用户都默认授予 ROLE_USER,即使它没有存储在数据库中。
有关 FOSUserBundle 如何分配角色的详细信息,请参阅
除非您需要它的所有功能,否则恕我直言,FOSUserBundle 可能有点矫枉过正。
根据此处的文档 http://symfony.com/doc/current/security.html
1) Initial security.yml Setup (Authentication)
# app/config/security.yml
security:
providers:
in_memory:
memory: ~
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
default:
anonymous: ~
默认设置匿名。
否则,您可能需要在此处查看本教程
https://knpuniversity.com/screencast/symfony2-ep2/roles-disabling-user
关于设置您自己的默认角色处理
public function getRoles()
{
return $this->roles;
}
public function setRoles(array $roles)
{
$this->roles = $roles;
// allows for chaining
return $this;
}
public function getRoles()
{
$roles = $this->roles;
$roles[] = 'ROLE_RETAILER';
return array_unique($roles);
}