2016-11-15 284 views
0

当我尝试启动我的定制使用PHP斌/控制台 我得到这个奇怪的错误做出的Symfony命令:Symfony的控制台命令:令牌存储不包含身份验证令牌

[Symfony的\分量\安全\核心\ Exception \ AuthenticationCredentialsNotFoundException]

令牌存储不包含身份验证令牌。一个可能的 原因可能是没有防火墙配置此URL

它似乎是负责该行

$user = $em->getRepository('CoreUserBundle:User')->findOneById($deck['user_id']); 
      if ($user != null) 
      { 
       $deck_entity = new Deck(); 
       $deck_entity->SetId($deck['id']); 
       $deck_entity->SetUser($user); 
       $deck_entity->SetTitle($deck['titre']); 
       $deck_entity->SetClass($deck['classe']); 
       $deck_entity->SetStyle("None"); 
       $deck_entity->SetContentHtml($deck['contenu_html']); 
       if (isset($deck['contenu_bbcode'])) 
        $deck_entity->SetContentBBCode($deck['contenu_bbcode']); 
       $deck_entity->SetVideo($deck['video']); 
       $deck_entity->SetVersion($deck['version']); 
       $deck_entity->SetIsUpdated($deck['a_jour']); 
       $deck_entity->SetCraftCost($deck['craft_cout']); 
       $deck_entity->SetCreationDate(new \DateTime($deck['creation'])); 
       $deck_entity->SetEditionDate(new \DateTime($deck['edition'])); 
       $deck_entity->SetDeckType($deck['deck_type']); 


       $em->persist($deck_entity); 

       $metadata = $em->getClassMetaData(get_class($deck_entity)); 
       $metadata->setIdGeneratorType(\Doctrine\ORM\Mapping\ClassMetadata::GENERATOR_TYPE_NONE); 
      } 

UPDATE:它似乎是错误的持续存在的时刻发生实体Deck()。

我的防火墙安全是

firewalls: 
    dev: 
     pattern: ^/(_(profiler|wdt)|css|images|js)/ 
     security: false 

    main: 
     pattern: ^/ 
     form_login: 
      login_path: /login 
      provider: fos_userbundle 
      csrf_token_generator: security.csrf.token_manager 
      remember_me: true 
     oauth: 
      resource_owners: 
       facebook: /login/check-facebook 
       google: /login/check-google 
      login_path: /login 
      failure_path: /login 
      oauth_user_provider: 
       service: core.user.user_provider 
     remember_me: 
      secret: "%secret%" 
      name:  f1e56d001 
      lifetime: 604800 
      httponly: true 
      domain: xxxx.eu 
     logout: 
      path: fos_user_security_logout 
      handlers: ['sonata.page.cms_manager_selector'] 
      target:/
     anonymous: true 
     switch_user: 
      role:  ROLE_ADMINISTRATOR 
      parameter: connect_as 

我不明白我应该,错误似乎在告诉我,我不是验证,但如何因为我使用的控制台?

在此先感谢。

+2

你能发布'CoreUserBundle:User'的存储库类是什么样的吗?另外,如果可能的话,或许是一个更大的堆栈跟踪错误! –

+0

请提供您的命令更多的代码。我不认为这是由用户存储库引起的。 –

+0

命令行不给我一个最大的堆栈跟踪,这是它输出的唯一行,我不知道如何让他提供更多的信息。我用更多的代码更新了这个问题 – scimunk

回答

0

经过更多的研究后,它的出现我的Deck()实体触发了一个PostPersist事件,用于从FosCommentBundle创建一个新线程,显然需要让当前登录的用户处理一些东西的命令是一个控制台命令),我可以通过绕过这些事件来解决问题。