У меня есть админка на моем сайте на symfony 3.4.
Логин и пароль для администратора хранятся в памяти в security.yml
providers:
users_db:
entity:
class: AppBundle:User
property: email
admin_db:
memory:
users:
admin:
password: root
roles: 'ROLE_ADMIN'
Мне также нужен репозиторий для запросов DQL для администратора (количество пользователей, количество отзывов, различные настройки). Но мне не нужен админ сущности (я храню данные для админа в памяти в security.yml)
Как я могу создать репозиторий AdminRepository без создания сущности администратора. (Мне не нужна таблица admin в моей базе данных !!!)
InMemoryProvider делает именно это, хранит пользователей в памяти, а не в базе данных. Вы не можете добавлять, редактировать или удалять пользователей во время выполнения, так как они полностью определены в этом самом файле YAML.
Увидеть https://symfony.com/doc/4.0/security.html#b-configuring-how-users-are-loaded:
Самый простой (но наиболее ограниченный) способ — настроить Symfony для загрузки жестко запрограммированных пользователей непосредственно из самого файла security.yaml. Это называется провайдером «в памяти», но лучше думать о нем как о провайдере «в конфигурации».
Таким образом, используя поставщика с memory
ключ конфигурации, вы определили своих пользователей «в конфигурации», и вам нужно добавить / отредактировать / удалить их там.
Других решений пока нет …