Здравствуйте друзья программисты!
Не могли бы вы мне помочь) Идея такая:
У меня на сайте есть регистрация, авторизация. Соответственно есть и личный кабинет пользователя. Как сделать следующее: Чтобы если пользователь не залогинен или не зарегистрирован не смог перейти в личный кабинет ("ishop.loc/cabinet.html"), чтобы выходила ошибка 403
ВОТ ТАК:
if (Yii::$app->user->isGuest){
throw new HttpException(403/*or any code*/, 'ERROR 403!!!!!!!'/*or any message*/);
}else{
return $this->render('index');
}
Правильно ли сделал(не говно код) ? В противном случая все равно работает)))
Руслан Тиляев, во-первых, комментарии можете удалить. их я оставил для вас, чтобы было понятнее.
во-вторых лучше использовать такую конструкцию:
if (Yii::$app->user->isGuest === true){
throw new HttpException(403, 'Forbidden');
return $this->render('index');
кардинально ничего не поменялось, однако глазу уже приятнее читать такой код.
в-третьих, сообщения должны быть информативны и кратки.
сухое "вам не хватает прав", "запрещено" или "forbidden" вполне сойдут. и смотрится приятно, и информативно.
а если по делу, то если работает - значит сойдет.