Doctrine 2 - ORM
  1. Doctrine 2 - ORM
  2. DDC-3163

security.context getToken() return null

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Invalid
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: None
    • Security Level: All
    • Environment:
      Windows 8, WAMP, Symfony 2.5

      Description

      On my entity listener i have this part of code on preUpdate()

      L48 : $secuContext = $this->container->get('security.context');
      L49 : $actualUser = $secuContext->getToken()->getUser();

      container are injected, this code worked on v2.4.2, but after update 2.4.3 when i run doctrine:fixtures:load i got this error on the console :
      PHP Fatal error: Call to a member function getUser() on a non-object in C:\wamp
      \www\project\src\acme\EntityBundle\Service\AcmeListener.php on line
      49

        Activity

        Hide
        Christophe Coevoet added a comment -

        This is not a Doctrine bug at all. It is a bug in your own code, and related to a place using Symfony code, not Doctrine code.

        Btw, getToken is documented as returning TokenInterface|null. If you are not behind a firewall, or if you run your logic before the authentication is completed by the security layer, it will be null

        Show
        Christophe Coevoet added a comment - This is not a Doctrine bug at all. It is a bug in your own code, and related to a place using Symfony code, not Doctrine code. Btw, getToken is documented as returning TokenInterface|null . If you are not behind a firewall, or if you run your logic before the authentication is completed by the security layer, it will be null
        Hide
        M. C. added a comment -

        I can understand this, but can you explain why in older version the same code works perfectly ?

        2.4.3 change the position of listener inside firewall ? Or how authentication is completed.

        Show
        M. C. added a comment - I can understand this, but can you explain why in older version the same code works perfectly ? 2.4.3 change the position of listener inside firewall ? Or how authentication is completed.
        Hide
        Christophe Coevoet added a comment -

        Doctrine does not register anything in the firewall. Knowing why a PreUpdate event is triggered depends of hwat your app is doing, not of what Doctrine is using. This is not something controlled by Doctrine, so we cannot help you

        Show
        Christophe Coevoet added a comment - Doctrine does not register anything in the firewall. Knowing why a PreUpdate event is triggered depends of hwat your app is doing, not of what Doctrine is using. This is not something controlled by Doctrine, so we cannot help you
        Hide
        Marco Pivetta added a comment -

        Not in the scope of the project.

        Show
        Marco Pivetta added a comment - Not in the scope of the project.

          People

          • Assignee:
            Marco Pivetta
            Reporter:
            M. C.
          • Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: