如何使用多个用户提供者
编辑该页面警告:你浏览的文档欧宝官网下载appob娱乐下载Symfony 2.3,不再维护。
读这个页面的更新版本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_memory
和user_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许可证。