diff --git a/src/Symfony/Component/Security/Core/Authentication/Token/AbstractToken.php b/src/Symfony/Component/Security/Core/Authentication/Token/AbstractToken.php index f83b5d9085..6015799855 100644 --- a/src/Symfony/Component/Security/Core/Authentication/Token/AbstractToken.php +++ b/src/Symfony/Component/Security/Core/Authentication/Token/AbstractToken.php @@ -230,7 +230,7 @@ abstract class AbstractToken implements TokenInterface } if ($this->user instanceof EquatableInterface) { - return !$this->user->isEqualTo($user); + return ! (Boolean) $this->user->isEqualTo($user); } if ($this->user->getPassword() !== $user->getPassword()) { diff --git a/tests/Symfony/Tests/Component/Security/Core/Authentication/Token/AbstractTokenTest.php b/tests/Symfony/Tests/Component/Security/Core/Authentication/Token/AbstractTokenTest.php index 02a01b4e83..386ddc08ad 100644 --- a/tests/Symfony/Tests/Component/Security/Core/Authentication/Token/AbstractTokenTest.php +++ b/tests/Symfony/Tests/Component/Security/Core/Authentication/Token/AbstractTokenTest.php @@ -144,8 +144,10 @@ class AbstractTokenTest extends \PHPUnit_Framework_TestCase public function getUsers() { $user = $this->getMock('Symfony\Component\Security\Core\User\UserInterface'); + $advancedUser = $this->getMock('Symfony\Component\Security\Core\User\AdvancedUserInterface'); return array( + array($advancedUser), array($user), array(new TestUser('foo')), array('foo'), @@ -171,6 +173,7 @@ class AbstractTokenTest extends \PHPUnit_Framework_TestCase public function getUserChanges() { $user = $this->getMock('Symfony\Component\Security\Core\User\UserInterface'); + $advancedUser = $this->getMock('Symfony\Component\Security\Core\User\AdvancedUserInterface'); return array( array( @@ -182,12 +185,21 @@ class AbstractTokenTest extends \PHPUnit_Framework_TestCase array( 'foo', $user, ), + array( + 'foo', $advancedUser + ), array( $user, 'foo' ), + array( + $advancedUser, 'foo' + ), array( $user, new TestUser('foo'), ), + array( + $advancedUser, new TestUser('foo'), + ), array( new TestUser('foo'), new TestUser('bar'), ), @@ -197,6 +209,15 @@ class AbstractTokenTest extends \PHPUnit_Framework_TestCase array( new TestUser('foo'), $user, ), + array( + new TestUser('foo'), $advancedUser, + ), + array( + $user, $advancedUser + ), + array( + $advancedUser, $user + ), ); }