Symfony2是否默认授予de角色\用户?

Symfony2是否默认授予de角色\用户?,symfony,fosuserbundle,Symfony,Fosuserbundle,我在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的新角色,它没有传统。所以我没有把它放在角色层次部分 当我使用仅具有角

我在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的新角色,它没有传统。所以我没有把它放在角色层次部分

当我使用仅具有角色\零售商的用户登录时,也将授予角色\用户

在数据库中,“角色”字段包含以下内容:

a:1:{i:0;s:13:"ROLE_RETAILER";}
检查探查器中的已登录用户显示:


我需要删除该角色用户,否则我将不得不重写访问控制列表并修改某些控制器的代码。

如果您使用的是FOSUserBundle,则默认情况下,所有用户都会授予该角色用户,即使该角色未存储在数据库中


有关FOSUserBundle如何分配角色的更多信息,请参阅。

如果使用FOSUserBundle,则默认情况下,所有用户都会授予角色\用户,即使该角色未存储在数据库中


有关FOSUserBundle如何分配角色的更多信息,请参阅。

除非您需要它的所有功能,否则IMHO FOSUserBundle可能是一个多余的功能

根据这里的文件

1初始security.yml设置验证

默认设置为匿名

否则,您可能希望在此处查看本教程

关于设置自己的默认角色处理

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);
}

除非您需要它的所有功能,否则IMHO FOSUserBundle可能是一种过度使用

根据这里的文件

1初始security.yml设置验证

默认设置为匿名

否则,您可能希望在此处查看本教程

关于设置自己的默认角色处理

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);
}

谢谢,我可以使用const ROLE_DEFAULT='ROLE_DEFAULT';是的,您可以在自定义用户类中重写它。谢谢,我可以使用const ROLE\u DEFAULT='ROLE\u DEFAULT';OveWriting解决此问题。是的,您可以在自定义用户类中重写它