没有实体的存储库

hgqdbh6s  于 2021-06-18  发布在  Mysql
关注(0)|答案(1)|浏览(380)

我在我的网站symfony3.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的内存中存储admin的数据),我可以创建repository adminrepository而不创建实体管理员(我的数据库不需要表管理员!!!)

disho6za

disho6za1#

inmemoryprovider正是这样做的,它将用户存储在内存中,而不是数据库中。您不能在运行时添加、编辑或删除用户,因为它们完全是在yaml文件中定义的。
看到了吗https://symfony.com/doc/4.0/security.html#b-配置如何加载用户:
最简单(但最有限)的方法是将symfony配置为直接从security.yaml文件本身加载硬编码用户。这称为“内存中”提供程序,但最好将其视为“配置中”提供程序。
所以通过将提供者与 memory config键,您已经在“配置”中定义了您的用户,您需要在那里添加/编辑/删除它们。

相关问题