Incam_IntranetNueva/www/protected/components/UserIdentity.php

50 lines
1.4 KiB
PHP
Raw Normal View History

<?php
/**
* UserIdentity represents the data needed to identity a user.
* It contains the authentication method that checks if the provided
* data can identity the user.
*/
class UserIdentity extends CUserIdentity
{
private $_id;
private $_email;
/**
* Authenticates a user.
* @return boolean whether authentication succeeds.
*/
public function authenticate()
{
$user = Usuario::model()->findByAttributes(array('username'=>$this->username));
if ($user === NULL) {
$this->errorCode = self::ERROR_USERNAME_INVALID;
}
else {
if ($user->password !== $user->encrypt($this->password)) {
$this->errorCode = self::ERROR_PASSWORD_INVALID;
}
else {
$this->_id = $user->id;
$this->_email = $user->email;
if ($user->last_login_time === null) {
$lastLogin = time();
} else {
$lastLogin = strtotime($user->last_login_time);
$this->setState('lastLoginTime', $lastLogin);
}
$this->errorCode = self::ERROR_NONE;
}
}
return !$this->errorCode;
}
public function getId() {
return $this->_id;
}
public function getEmail() {
return $this->_email;
}
}