Symfony easy admin Bundle настройка / назначение ролей пользователей

Я пытаюсь настроить простую конфигурацию администратора.

Вот моя структура базы данных с пользователем.

user (Table)
_____
id
username
password
email

Теперь, когда я пытаюсь войти в систему, я понимаю, что конструкция хочет / нуждается в какой-то роли пользователя. Поскольку эта ошибка возникает

Аргумент 3, переданный в Symfony \ Component \ Security \ Guard \ Token \ PostAuthenticationGuardToken :: __ construct (), должен иметь тип array, заданный null, вызываемый в \ AbstractGuardAuthenticator.php в строке 37

Итак, мой вопрос: как мне назначить роль моего пользователя?

Вот мои конфиги.

В моем security.yml файле есть эти конфиги.

security:
# https://symfony.com/doc/current/security.html#where-do-users-come-from-user-providers
providers:
    in_memory: { memory: null }
firewalls:
    dev:
        pattern: ^/(_(profiler|wdt)|css|images|js)/
        security: false
    main:
        anonymous: true
        guard:
            authenticators:
                - App\Security\AuthAuthenticator
        logout:
            path: app_logout
            # where to redirect after logout
            # target: app_any_route

        # activate different ways to authenticate
        # https://symfony.com/doc/current/security.html#firewalls-authentication

        # https://symfony.com/doc/current/security/impersonating_user.html
        # switch_user: true

# Easy way to control access for large sections of your site
# Note: Only the *first* access control that matches will be used
access_control:
     - { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
     - { path: ^/, roles: IS_AUTHENTICATED_FULLY }

И моя easy_admin.yml пуста.

Если вам нужна другая информация, дайте мне знать.

Спасибо.


person learningsymfony    schedule 07.02.2020    source источник
comment
У пользователя есть роль при регистрации?   -  person snakepyro    schedule 07.02.2020
comment
Регистрации нет, просто добавляю в базу.   -  person learningsymfony    schedule 07.02.2020
comment
Просто добавьте [ROLE_USER] в поле роли в базе данных   -  person snakepyro    schedule 07.02.2020
comment
У меня нет ролевого поля ... в этом загвоздка. Я автоматически сгенерировал таблицу, и я не получил поля роли.   -  person learningsymfony    schedule 07.02.2020
comment
Странно, что php bin/console make:user роль поля должна создаваться автоматически   -  person snakepyro    schedule 07.02.2020
comment
Единственное, что у меня есть, это функция getRoles () в моей пользовательской сущности, которая имеет только // TODO: Implement getRoles() method.   -  person learningsymfony    schedule 07.02.2020


Ответы (1)


Вы должны добавить свойство role в таблицу User, как указано в документации по безопасности Symfony:

person amllano    schedule 10.09.2020