12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- <?php
- /*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
- namespace Symfony\Component\Security\Core\User;
- /**
- * Represents the interface that all user classes must implement.
- *
- * This interface is useful because the authentication layer can deal with
- * the object through its lifecycle, using the object to get the encoded
- * password (for checking against a submitted password), assigning roles
- * and so on.
- *
- * Regardless of how your users are loaded or where they come from (a database,
- * configuration, web service, etc.), you will have a class that implements
- * this interface. Objects that implement this interface are created and
- * loaded by different objects that implement UserProviderInterface.
- *
- * @see UserProviderInterface
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
- interface UserInterface
- {
- /**
- * Returns the roles granted to the user.
- *
- * public function getRoles()
- * {
- * return ['ROLE_USER'];
- * }
- *
- * Alternatively, the roles might be stored on a ``roles`` property,
- * and populated in any number of different ways when the user object
- * is created.
- *
- * @return string[] The user roles
- */
- public function getRoles();
- /**
- * Returns the password used to authenticate the user.
- *
- * This should be the encoded password. On authentication, a plain-text
- * password will be salted, encoded, and then compared to this value.
- *
- * @return string|null The encoded password if any
- */
- public function getPassword();
- /**
- * Returns the salt that was originally used to encode the password.
- *
- * This can return null if the password was not encoded using a salt.
- *
- * @return string|null The salt
- */
- public function getSalt();
- /**
- * Returns the username used to authenticate the user.
- *
- * @return string The username
- */
- public function getUsername();
- /**
- * Removes sensitive data from the user.
- *
- * This is important if, at any given point, sensitive information like
- * the plain-text password is stored on this object.
- */
- public function eraseCredentials();
- }
|