Incam_IntranetNueva/www/protected/components/UserIdentity.php
2012-02-01 15:41:14 +00:00

44 lines
1.2 KiB
PHP

<?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;
/**
* 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;
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;
}
}