Php 如何在fosuserbundle用户注册中分配角色(使用复选框)?
我正在使用fosuserbundle进行注册和登录验证。我想使用复选框在注册时分配角色 这三个复选框的形式为:角色\管理员、角色\用户、角色\管理员 我创建了一个扩展baseUser的用户实体。我有RegisterType扩展BaseType 我想使用fosuserbundle的角色值,如何将fosuserbundle的角色链接到复选框 下面给出了我的security.ymlPhp 如何在fosuserbundle用户注册中分配角色(使用复选框)?,php,symfony,doctrine,Php,Symfony,Doctrine,我正在使用fosuserbundle进行注册和登录验证。我想使用复选框在注册时分配角色 这三个复选框的形式为:角色\管理员、角色\用户、角色\管理员 我创建了一个扩展baseUser的用户实体。我有RegisterType扩展BaseType 我想使用fosuserbundle的角色值,如何将fosuserbundle的角色链接到复选框 下面给出了我的security.yml role_hierarchy: ROLE_ADMIN: ROLE_USER ROLE_SUP
role_hierarchy:
ROLE_ADMIN: ROLE_USER
ROLE_SUPER_ADMIN: ROLE_ADMIN
providers:
fos_userbundle:
id: fos_user.user_provider.username
firewalls:
main:
pattern: ^/
form_login:
provider: fos_userbundle
csrf_provider: security.csrf.token_manager
logout:
path: /logout
target: /login
anonymous: true
access_control:
- { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/register, role: ROLE_USER }
- { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/Services/, role: ROLE_USER }
我现在必须做什么才能实现我想要的?步骤:
在security.yml中添加安全角色。
在form builder中创建一个数组和该数组,以创建复选框组合。
在控制器内部,在创建用户实体后使用此选项:
$userEntity->setRoles[SELECTEDROLE-VAUES-IN-POST-VAR];
SELECTEDROLE VAUES IN POST VAR==用户在注册过程中选择的值。要在注册时分配角色,您可以将事件订阅者或事件侦听器添加到表单类,并使用表单Events formEvents::POST\u SUBMIT
你想做什么?你的问题不清楚。您已经创建了一个包含角色的复选框,是否要根据您在复选框中所做的选择将角色添加到新创建的用户?Zargham,下面的贡献是否有用?遗憾的是,被否决了,请参见上文。