Довольно часто возникает необходимость выводить в публичной части сайта (или не выводить) информацию в зависимости от того авторизован ли пользователь или нет.
Довольно часто возникает необходимость выводить в публичной части сайта (или не выводить) информацию в зависимости от того авторизован ли пользователь или нет. В Битрикс существует нестатический метод IsAuthorized класс CUser:
global $USER;
if ($USER->IsAuthorized()) echo "Вы авторизованы!";
Метод возвращает true, если пользователь авторизован, в противном случае метод возвращает false. Перед использованием метода нужна обязательно вызвать глобальную переменную $USER, в которой хранится авторизация. Если этого не сделать, то на какой-то странице сайта или даже на всем сайте метод $USER->IsAuthorized() вернет true, даже когда в действительности авторизации нет.
Пользуясь этим методом можно выводить ссылку на личный кабинет, если пользователь авторизован или ссылку на страницу авторизации в противном случае:
global $USER;
if ($USER->IsAuthorized()){
echo "[".$USER->GetID()."] (".$USER->GetLogin().") ".$USER->GetFullName();
}
В последнем примере если пользователь авторизован, то выводим его ID, логин и полное имя в системе.