如何使用多个用户提供者

编辑该页面

警告:你浏览的文档欧宝官网下载appob娱乐下载Symfony 3.2,不再维护。

这个页面的更新版本Symfob娱乐下载ony 6.2(当前的稳定版本)。

如何使用多个用户提供者

每个身份验证机制(例如HTTP身份验证,形成登录等)使用一个用户提供者,并将使用第一个宣布用户默认提供者。但是,如果您想要指定一些用户通过配置和数据库中的其他用户?这是可能通过创建一个新的提供程序链两个在一起:

  • YAML
  • XML
  • PHP
1 2 3 4 5 6 7 8 9 10 11 12
# app / config / security.yml安全:提供者:chain_provider:链:提供者:[in_memory,user_db]in_memory:记忆:用户:foo:{密码:测试}user_db:实体:{类:实体AppBundle \ \用户,属性:用户名}

现在,所有防火墙没有显式配置用户提供者将使用chain_provider因为它是第一个指定。的chain_provider反过来,尝试加载用户的in_memoryuser_db提供者。

您还可以配置防火墙和个人身份验证机制使用特定的提供者。再一次,除非显式地指定一个提供者,第一供应商总是使用:

  • YAML
  • XML
  • PHP
1 2 3 4 5 6 7 8 9 10 11
# app / config / security.yml安全:防火墙:secured_area:#……模式:^ /供应商:user_dbhttp_basic:域:“安全演示区”供应商:in_memoryform_login:~

在本例中,如果用户试图通过HTTP身份验证登录,身份验证系统将使用in_memory用户提供者。但是,如果用户试图通过表单登录,登录user_db提供者将使用(因为它是整个防火墙的默认值)。

关于用户提供者和防火墙配置的更多信息,见SecurityBundle配置(“安全”)

这项工作,包括代码示例,许可下Creative Commons冲锋队3.0许可证。