Php symfony2:两个身份验证提供程序
我有两个单独的身份验证表单。一个用于管理员,另一个用于用户。但是,当我从两个登录页面进行身份验证时,它由AdminUser存储库处理。在客户端身份验证的情况下,它应该由用户处理。它不会发生。我在配置中遗漏了什么 如果未在默认orm中添加ESSUserBundle,也会出现此错误 致命错误:第236行的D:\xampp\htdocs\essweb\vendor\doctor\ORM\ORM\ORMException.php中的未捕获异常“条令\ORM\ORMException”,带有消息“未知实体命名空间别名“ESSUserBundle”。 Security.ymlPhp symfony2:两个身份验证提供程序,php,symfony,authentication,Php,Symfony,Authentication,我有两个单独的身份验证表单。一个用于管理员,另一个用于用户。但是,当我从两个登录页面进行身份验证时,它由AdminUser存储库处理。在客户端身份验证的情况下,它应该由用户处理。它不会发生。我在配置中遗漏了什么 如果未在默认orm中添加ESSUserBundle,也会出现此错误 致命错误:第236行的D:\xampp\htdocs\essweb\vendor\doctor\ORM\ORM\ORMException.php中的未捕获异常“条令\ORM\ORMException”,带有消息“未知实体
security:
encoders:
ESS\UserBundle\Entity\User:
algorithm: sha512
encode-as-base64: true
iterations: 1
ESS\AdminUserBundle\Entity\AdminUser:
algorithm: sha512
encode-as-base64: true
iterations: 1
role_hierarchy:
ROLE_ADMIN: ROLE_USER
ROLE_SUPER_ADMIN: [ROLE_USER, ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH]
providers:
admin_area:
entity: {class: ESSAdminUserBundle:AdminUser }
company_area:
entity: {class: ESSUserBundle:User, property: username}
firewalls:
admin_area:
pattern: ^/admin
anonymous: ~
form_login:
login_path: /admin
check_path: /admin/login_check
default_target_path: /admin/dashboard
failure_path: /admin
logout:
path: /admin/logout
target: /admin
company_area:
pattern: ^/
anonymous: ~
form_login:
login_path: /login
check_path: login_check
default_target_path: /main/dashboard
failure_path: /
logout:
path: /main/logout
target: /login
Config.yml
orm:
default_entity_manager: default
#auto_generate_proxy_classes: "%kernel.debug%"
entity_managers:
default:
connection: default
mappings:
ESSCompanyBundle: ~
ESSAdminUserBundle: ~
client:
connection: client
mappings:
ESSUserBundle: ~
什么是登录检查url?因为您在正常登录时使用名为login\u check的路由名称而不是pathlogin\u check是symfony framework身份验证的默认路径…我从上面删除了它,因为它可能会带来混淆。没有/那一点指向路由名称,这就是我问的原因,因为每个其他配置值都是路径,而不是路由名称,并且用于admin,您还使用了一条路径。登录检查路径的值是多少?