我在我的网站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而不创建实体管理员(我的数据库不需要表管理员!!!)
1条答案
按热度按时间disho6za1#
inmemoryprovider正是这样做的,它将用户存储在内存中,而不是数据库中。您不能在运行时添加、编辑或删除用户,因为它们完全是在yaml文件中定义的。
看到了吗https://symfony.com/doc/4.0/security.html#b-配置如何加载用户:
最简单(但最有限)的方法是将symfony配置为直接从security.yaml文件本身加载硬编码用户。这称为“内存中”提供程序,但最好将其视为“配置中”提供程序。
所以通过将提供者与
memory
config键,您已经在“配置”中定义了您的用户,您需要在那里添加/编辑/删除它们。