Код: Выделить всё
return Yii::app()->user->id==$params['explanation']->user_id;
Код: Выделить всё
return Yii::app()->user->id==$params['explanation']->user_id;
Код: Выделить всё
// аутентификация юзера
class UserIdentity extends CUserIdentity {
// аутентификация
public function authenticate() {
// Вход обычного юзера
$user = Profile::model()->find('LOWER(login)=?', array($this->username));
if ($user === null)
$this->errorCode = self::ERROR_USERNAME_INVALID;
else if ($user->pass !== $this->password)
$this->errorCode = self::ERROR_PASSWORD_INVALID;
else {
$this->errorCode = self::ERROR_NONE;
$this->setState('user_id', $user->id);
$this->setState('userName', $this->username);
};
return !$this->errorCode;
}
}
А доступ запрещен, потому что у тебя в контроллере в методе rules к экшену редактирования надо прописать доступ авторизованным пользователям:NeverDie писал(а): Но почему-то доступ все равно остается запрещен. В чем может быть ошибка ?
Код: Выделить всё
public function accessRules() {
return array(
array('allow',
'users' => array('admin'),
),
array('allow', // allow authenticated users to perform any action
'actions' => array('Название экшена где юзеры редактируют посты'),
'users' => array('@'),
),
array('deny', // deny all users
'users' => array('*'),
),
);
}
Код: Выделить всё
class UserIdentity extends CUserIdentity
{
protected $_id;
public function authenticate()
{
/**
* @var User $user
*/
if($id) {
$user = User::model()->findByPk($id);
} else {
$this->username = User::phoneNumberFormat($this->username);
$user = User::model()->find('email = :u OR phone1 = :u', array('u'=>$this->username));
}
if(is_null($user)) {
$this->errorCode=self::ERROR_USERNAME_INVALID;
} else if($user->password !== sha1($this->password)) {
$this->errorCode=self::ERROR_PASSWORD_INVALID;
} else {
$this->errorCode=self::ERROR_NONE;
$this->_id = $user->id;
}
return !$this->errorCode;
}
public function getId()
{
return $this->_id;
}
}
кстати вариант, а ты не в курсе, этот метод сработает, если чел зайдет на сайт на следующий день?Hett писал(а):А не проще ли тогда getId() переписать?