1: <?php
2:
3: /*
4: * This file is part of the Symfony package.
5: *
6: * (c) Fabien Potencier <fabien@symfony.com>
7: *
8: * For the full copyright and license information, please view the LICENSE
9: * file that was distributed with this source code.
10: */
11:
12: namespace Symfony\Component\Security\Core\User;
13:
14: /**
15: * EquatableInterface used to test if two objects are equal in security
16: * and re-authentication context.
17: *
18: * @author Dariusz Górecki <darek.krk@gmail.com>
19: */
20: interface EquatableInterface
21: {
22: /**
23: * The equality comparison should neither be done by referential equality
24: * nor by comparing identities (i.e. getId() === getId()).
25: *
26: * However, you do not need to compare every attribute, but only those that
27: * are relevant for assessing whether re-authentication is required.
28: *
29: * Also implementation should consider that $user instance may implement
30: * the extended user interface `AdvancedUserInterface`.
31: *
32: * @param UserInterface $user
33: *
34: * @return bool
35: */
36: public function isEqualTo(UserInterface $user);
37: }
38: