如何在 FOS 中将角色类型更改为 varchar
How can i change the role type as a varchar in FOS
我在我的 Symfony2 项目中使用 FosUserBundle,我想知道如何将角色更改为文本而不是数组(我的意思是我的角色是 varchar 而不是 table 在我的数据库中),这可能吗?
在抽象class用户中我已经将类型更改为字符串。
/**
* @var string
*/
protected $roles;
这是我的 security.yml
security:
encoders:
FOS\UserBundle\Model\UserInterface: sha512
role_hierarchy:
ROlE_Client: ROLE_Client
ROlE_Agent: ROLE_Agent
ROLE_SUPER_ADMIN: ROLE_SUPER_ADMIN
providers:
fos_userbundle:
id: fos_user.user_provider.username
firewalls:
main:
pattern: ^/
form_login:
provider: fos_userbundle
csrf_provider: form.csrf_provider
#always_use_default_target_path: false
#default_target_path: /affichage
logout: true
anonymous: true
access_control:
- { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/admin/, role: ROLE_ADMIN }
- { path: ^/affichage, role: ROLE_Agent }
您必须通过以下方式更改您的 role_hierarchy
:
role_hierarchy:
ROLE_CLIENT: ROLE_USER
ROLE_AGENT: ROLE_USER
ROLE_SUPER_ADMIN: ROLE_ADMIN
使用大写尊重规范化。
解释为什么会这样:
键是角色的名称,值是继承的内容
示例:
ROLE_AGENT: ROLE_USER #An agent has agent's rights + user's rights
我在我的 Symfony2 项目中使用 FosUserBundle,我想知道如何将角色更改为文本而不是数组(我的意思是我的角色是 varchar 而不是 table 在我的数据库中),这可能吗?
在抽象class用户中我已经将类型更改为字符串。
/**
* @var string
*/
protected $roles;
这是我的 security.yml
security:
encoders:
FOS\UserBundle\Model\UserInterface: sha512
role_hierarchy:
ROlE_Client: ROLE_Client
ROlE_Agent: ROLE_Agent
ROLE_SUPER_ADMIN: ROLE_SUPER_ADMIN
providers:
fos_userbundle:
id: fos_user.user_provider.username
firewalls:
main:
pattern: ^/
form_login:
provider: fos_userbundle
csrf_provider: form.csrf_provider
#always_use_default_target_path: false
#default_target_path: /affichage
logout: true
anonymous: true
access_control:
- { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/admin/, role: ROLE_ADMIN }
- { path: ^/affichage, role: ROLE_Agent }
您必须通过以下方式更改您的 role_hierarchy
:
role_hierarchy:
ROLE_CLIENT: ROLE_USER
ROLE_AGENT: ROLE_USER
ROLE_SUPER_ADMIN: ROLE_ADMIN
使用大写尊重规范化。
解释为什么会这样: 键是角色的名称,值是继承的内容
示例:
ROLE_AGENT: ROLE_USER #An agent has agent's rights + user's rights