Тип входа пользователя Yii не пишется

я только что вошел в систему с yii. в моей таблице входа в систему есть столбец «usertype», поэтому, чтобы проверить, работает ли он нормально, я поместил средство записи файлов в код, но оно не получает запись (забудьте о типе пользователя, даже не о строке) каждый раз, когда код выполняет пустой. следующий код

компоненты / UserIdentity

<?php

class UserIdentity extends CUserIdentity

{
private $_id;

public function authenticate()
{$user = Trackaccountusers::model()->findByAttributes(array('username'=>$this->username));

if ($user===null) { // No user found!
$this->errorCode=self::ERROR_USERNAME_INVALID;
} else if ($user->password !== ($this->password) ) { // Invalid password!
$this->errorCode=self::ERROR_PASSWORD_INVALID;
} else { // Okay!
$this->errorCode=self::ERROR_NONE;
// Store the role in a session:
$this->setState('usertype', $user->usertype);
$file = "log.txt";
$write = ("time_s ".$user->usertype."\n");//
file_put_contents($file, $write, FILE_APPEND);
//$this->_id = $user->id;
}
return !$this->errorCode;

}
public function getId()
{
return $this->_id;
}

}

0

Решение

Такая проблема возникает по двум причинам.

  1. Проверьте, есть ли у вас разрешение на запись в каталог компонентов. Вы можете установить его, используя chmod -R +x components
  2. Убедитесь, что у вас есть пользователь apache / ngnix в каталоге компонентов. Вы можете установить его, используя chown -R www:data:www:data components

  3. Используйте код ниже в ваших представлениях / контроллерах, чтобы проверить Yii State (UserType) установлен или нет

    $usertype = isset(Yii::app()->user->usertype) ? Yii::app()->user->usertype : '';
    

Замечания: Вам не нужно писать файл для проверки состояния пользователя Yii. Вместо написания файла используйте error_log("usertype = $usertype") или напечатайте Государство в поле зрения.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]