php - 没有实体的存储库
问题描述
我在 symfony 3.4 上的网站上有管理区域。admin 的登录和密码存储在 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。(我的数据库中不需要表管理员!!!)
解决方案
InMemoryProvider 正是这样做的,将用户存储在内存中而不是数据库中。您不能在运行时添加、编辑或删除用户,因为它们完全在那个 YAML 文件中定义。
请参阅https://symfony.com/doc/4.0/security.html#b-configuring-how-users-are-loaded:
最简单(但最有限)的方法是配置 Symfony 以直接从 security.yaml 文件本身加载硬编码用户。这称为“内存中”提供程序,但最好将其视为“配置中”提供程序。
因此,通过使用带有memory
config 键的提供程序,您已经“在配置中”定义了您的用户,您需要在那里添加/编辑/删除它们。
推荐阅读
- c# - C#如何存储存储在side for循环或每个到outside变量中的变量
- c# - 错误:无法从 System.String 转换或转换
- python - 通过使用 pandas 移动唯一值来得出结束日期
- excel - 如何允许excel中的电源查询一次自动更新一个数据?
- php - 向 php Xamarin.Forms 发布请求
- ruby-on-rails - 如何在序列化程序中迭代哈希数组
- .htaccess - 如何在 URL 中插入 GET 变量并通过 .htaccess 重定向
- reactjs - 地图函数没有返回值
- optaplanner - 距离计算失败
- r - 如何避免ggplot2中的平坦密度线