如何显示symfony角色

时间:2015-06-10 17:05:45

标签: symfony

我正在使用symfony 2.3。如何在没有(ROLE_)的情况下显示用户角色。我想更改视图,但在数据库中完好无损。

当我在视图中显示角色时,我有了这个

  • ROLE_ADMIN
  • ROLE_CONSULTOR

我想要

  • 管理
  • Consultor

2 个答案:

答案 0 :(得分:0)

角色实体只需要实现RoleInterface。您可以添加自己的自定义字段,例如您想要的名称。

http://api.symfony.com/2.3/Symfony/Component/Security/Core/Role/RoleInterface.html

答案 1 :(得分:0)

不清楚你想要实现什么,但如果角色很少,可能是2-3,(例如ROLE_ADMIN,ROLE_CONSULTOR,ROLE_USER),只需定义一个接收系统角色的方法,返回人类可读的角色。可能是这样的:

public function convertToHumanreadable($role)
{
    $return = null;
    switch ($role) {
        case 'ROLE_ADMIN':
            $return = 'Admin';
        break;

        ...
    }

    return $return;
}

或者甚至喜欢这样:

public function convertToHumanreadable($role)
{
    $roleParts = explode('_', $role)

    return ucfirst(strtolower($roleParts[1]));
}

或者您可以通过将RoleInterface实现为@DerickF来创建自己的角色实体。