Вход Регистрация
Файл: symfony-2.7/src/Symfony/Component/Security/Core/Authentication/Token/UsernamePasswordToken.php
Строк: 125
<?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 SymfonyComponentSecurityCoreAuthenticationToken;

use 
SymfonyComponentSecurityCoreRoleRoleInterface;

/**
 * UsernamePasswordToken implements a username and password token.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
class UsernamePasswordToken extends AbstractToken
{
    private 
$credentials;
    private 
$providerKey;

    
/**
     * Constructor.
     *
     * @param string|object            $user        The username (like a nickname, email address, etc.), or a UserInterface instance or an object implementing a __toString method.
     * @param string                   $credentials This usually is the password of the user
     * @param string                   $providerKey The provider key
     * @param RoleInterface[]|string[] $roles       An array of roles
     *
     * @throws InvalidArgumentException
     */
    
public function __construct($user$credentials$providerKey, array $roles = array())
    {
        
parent::__construct($roles);

        if (empty(
$providerKey)) {
            throw new 
InvalidArgumentException('$providerKey must not be empty.');
        }

        
$this->setUser($user);
        
$this->credentials $credentials;
        
$this->providerKey $providerKey;

        
parent::setAuthenticated(count($roles) > 0);
    }

    
/**
     * {@inheritdoc}
     */
    
public function setAuthenticated($isAuthenticated)
    {
        if (
$isAuthenticated) {
            throw new 
LogicException('Cannot set this token to trusted after instantiation.');
        }

        
parent::setAuthenticated(false);
    }

    
/**
     * {@inheritdoc}
     */
    
public function getCredentials()
    {
        return 
$this->credentials;
    }

    
/**
     * Returns the provider key.
     *
     * @return string The provider key
     */
    
public function getProviderKey()
    {
        return 
$this->providerKey;
    }

    
/**
     * {@inheritdoc}
     */
    
public function eraseCredentials()
    {
        
parent::eraseCredentials();

        
$this->credentials null;
    }

    
/**
     * {@inheritdoc}
     */
    
public function serialize()
    {
        return 
serialize(array($this->credentials$this->providerKeyparent::serialize()));
    }

    
/**
     * {@inheritdoc}
     */
    
public function unserialize($serialized)
    {
        list(
$this->credentials$this->providerKey$parentStr) = unserialize($serialized);
        
parent::unserialize($parentStr);
    }
}
Онлайн: 2
Реклама