我在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。 (我的数据库中不需要表admin!)
答案 0 :(得分:0)
InMemoryProvider正是这样做的,将用户存储在内存中而不是数据库中。您无法在运行时添加,编辑或删除用户,因为它们完全在该非常YAML文件中定义。
请参见https://symfony.com/doc/4.0/security.html#b-configuring-how-users-are-loaded:
最简单(但最有限)的方法是配置Symfony以直接从security.yaml文件本身加载硬编码用户。这称为“内存中”提供程序,但最好将其视为“配置中”提供程序。
因此,通过使用具有memory
config键的提供程序,可以在“配置中”定义用户,并且需要在其中添加/编辑/删除用户。