FOSuser Bundle - пользователь может иметь несколько учетных записей, как переключаться между ними - PullRequest
0 голосов
/ 04 января 2019

Использование Guard Auth, Symfony 3.4, FOSuser Bundle.

Мой зарегистрированный пользователь может создать субсчет для различных задач.Если мой пользователь выходит из системы и входит в этот субаккаунт (маршруты из комплекта Fuser), все работает как положено.Учетной записи нужны привилегии, все отлично работает.

Я хотел бы создать для своего зарегистрированного пользователя - переключатель для всех его субсчетов.(У каждой учетной записи subb есть свой идентификатор владельца и поле acc_type)

как создать надлежащий контроллер (наследует надлежащие интерфейсы и т. Д.), Сформировать и использовать встроенные в службы FOSuser для перезагрузки / переключения пользователя на другую учетную запись?

в представлении контроллера рендеринга (заполните скрытое поле в качестве пароля, добавьте «submit» btn для инициации входа в систему)

1 Ответ

0 голосов
/ 04 января 2019

Я полагаю, что вы можете выполнить указанное поведение с помощью олицетворяющей пользовательской функции .

Вы должны сначала включить такую ​​опцию в своем конфигурационном файле

# config/packages/security.yaml
security:
    # ...

    firewalls:
        main:
            # ...
            switch_user: true

А также, пожалуйста,обратите внимание, что эта функция доступна только пользователям со специальной ролью ROLE_ALLOWED_TO_SWITCH.Используйте role_hierarchy, чтобы назначить эту роль пользователям, которым она необходима.

...