2017-05-07 11 views
0

私は2つの別個のエンティティマネージャでGuard認証を行っています。Symfony Guardの認証で不明なエンティティネームスペースエイリアス

ここに私の設定:これは、ログインフォームの後

services: 
    backoffice.form_login_authenticator: 
      class: BackofficeBundle\Security\FormLoginAuthenticator 
      arguments: ["@router", "@security.password_encoder", "@doctrine.orm.backoffice_entity_manager"] 

を設定する私のセキュリティです

doctrine: 
    dbal: 
     default_connection: default 
     connections: 
      default: 
       driver: pdo_mysql 
       host:  '%database_host%' 
       port:  '%database_port%' 
       dbname: '%database_name%' 
       user:  '%database_user%' 
       password: '%database_password%' 
       charset: UTF8 
      backoffice: 
       driver: pdo_mysql 
       host:  '%database_backoffice_host%' 
       port:  '%database_backoffice_port%' 
       dbname: '%database_backoffice_name%' 
       user:  '%database_backoffice_user%' 
       password: '%database_backoffice_password%' 
       charset: UTF8 

orm: 
    auto_generate_proxy_classes: "%kernel.debug%" 
    default_entity_manager: default 
    entity_managers: 
     default: 
      connection: default 
      mappings: 
       AppBundle: ~ 
       CarBundle: ~ 
     backoffice: 
      connection: backoffice 
      mappings: 
       BackofficeBundle: ~ 

、ユーザーが発見し、私のメインルート/ backoficeへのリダイレクトがあるが、Iこのエラーになる:

[2017-05-07 18:32:56] request.INFO: Matched route "backoffice_home". {"route":"backoffice_home","route_parameters":{"_controller":"BackofficeBundle\\Controller\\DefaultController::indexAction","_route":"backoffice_home"},"request_uri":"http://ip/backoffice","method":"GET"} [] 
[2017-05-07 18:32:56] security.DEBUG: Read existing security token from the session. {"key":"_security_main"} [] 
[2017-05-07 18:32:56] request.CRITICAL: Uncaught PHP Exception Doctrine\ORM\ORMException: "Unknown Entity namespace alias 'BackofficeBundle'." at /home/metahub/autotrader/vendor/doctrine/orm/lib/Doctrine/ORM/ORMException.php line 271 {"exception":"[object] (Doctrine\\ORM\\ORMException(code: 0): Unknown Entity namespace alias 'BackofficeBundle'. at /home/metahub/autotrader/vendor/doctrine/orm/lib/Doctrine/ORM/ORMException.php:271)"} [] 

答えて

0

auto_mapping: true

012を使用してみてください
orm: 
    auto_generate_proxy_classes: "%kernel.debug%" 
    default_entity_manager: default 
    entity_managers: 
     default: 
      connection: default 
      auto_mapping: true 
      mappings: 
       AppBundle: ~ 
       CarBundle: ~ 
     backoffice: 
      connection: backoffice 
      auto_mapping: true 
      mappings: 
       BackofficeBundle: ~ 
+0

そして、それは何を達成するのでしょうか?あなたはそれを試しましたか? – Cerad

+0

複数のマネージャで同時に「auto_mapping」を有効にすることはできません(「デフォルト」および「バックオフィス」にあります)。 –

0

解決策はこれです:

security: 
    encoders: 
      BackofficeBundle\Entity\User: bcrypt 
    providers: 
     database_users: 
      entity: 
       class: BackofficeBundle:User 
       property: username 
       manager_name: backoffice 

我々はセットアップにセキュリティ設定で、直接このエンティティのマネージャー「MANAGER_NAME」が必要です。

関連する問題