Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在fosuserbundle用户注册中分配角色(使用复选框)?_Php_Symfony_Doctrine - Fatal编程技术网

Php 如何在fosuserbundle用户注册中分配角色(使用复选框)?

Php 如何在fosuserbundle用户注册中分配角色(使用复选框)?,php,symfony,doctrine,Php,Symfony,Doctrine,我正在使用fosuserbundle进行注册和登录验证。我想使用复选框在注册时分配角色 这三个复选框的形式为:角色\管理员、角色\用户、角色\管理员 我创建了一个扩展baseUser的用户实体。我有RegisterType扩展BaseType 我想使用fosuserbundle的角色值,如何将fosuserbundle的角色链接到复选框 下面给出了我的security.yml role_hierarchy: ROLE_ADMIN: ROLE_USER ROLE_SUP

我正在使用fosuserbundle进行注册和登录验证。我想使用复选框在注册时分配角色

这三个复选框的形式为:角色\管理员、角色\用户、角色\管理员

我创建了一个扩展baseUser的用户实体。我有RegisterType扩展BaseType

我想使用fosuserbundle的角色值,如何将fosuserbundle的角色链接到复选框

下面给出了我的security.yml

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,下面的贡献是否有用?遗憾的是,被否决了,请参见上文。