Онлайн-руководство разработчика NetCat
Новогодние скидки до 25%!
Подробнее
Модуль «Поиск по сайту» 12.2.1Начало работы с модулем 12.2.2Язык запросов 12.2.3Способы хранения индекса 12.2.4Интерфейс модуля в панели управления сайтом 12.2.5Области индексирования 12.2.6Области HTML-страниц 12.2.7Области поиска на сайте 12.2.8Индексирование по расписанию, запуск индексирования в фоновом режиме 12.2.9Правила индексирования 12.2.10Постановка задачи переиндексирования в очередь 12.2.11Интеграция модуля в макеты дизайна сайта 12.2.12Простая форма поиска 12.2.13Расширенная форма поиска 12.2.14Вывод результатов поиска 12.2.15Стилизация списка подсказок 12.2.16Расширенные настройки 12.2.17Разработка расширений модуля 12.2.18Обзор архитектуры модуля 12.2.19Обработчики документов различных типов 12.2.20Текстовые фильтры 12.2.21Анализаторы текста 12.2.22Корректировщики запросов 12.2.23Подключение других поисковых систем 12.2.24Решение проблем с поиском 12.2.25Решение проблем с индексированием 12.2.26Справочник API

Авторизация и завершение сеанса работы пользователя

После того, как аккаунт пользователя активирован, у него появляется возможность авторизоваться на сайте.

Существует несколько способов авторизации:

  • обычным способом ( с помощью логина и пароля );
  • по хэш-коду.
  • по usb-токену
  • через внешние севрисы ( vkontakte, facebook, twitter, OpenID)

Подробнее о каждом варианте будет рассказано далее. В этом разделе речь пойдет об авторизации по логину и паролю.

Авторизация как для администраторов сайта, так и для всех остальных пользователей может быть трех типов: http, cookie и session. Способ авторизации настраивается в файле настроек vars.inc.php в переменной $AUTHORIZE_BY.

Авторизация типа «http» выглядит как всплывающее окно (поверх окна браузера) с предложением ввести логин и пароль. Используя данный тип авторизации, система может сохранять информацию об авторизованном пользователе только в разделах, закрытых для общего просмотра.
В случае «cookie»-авторизации, информация о пользователе хранится в течение суток или до принудительного завершения сеанса пользователем. Возможно изменить время хранения «cookie» в файле настроек vars.inc.php. Время задается в переменной $ADMIN_AUTHTIME, по умолчанию равной 86400 секунд, т.е. 24 часам.
«Session» - это 32 разрядное хэш число, передаваемое в ссылке. Используйте данный тип, если ваш компьютер не может принимать cookie и по какой-либо причине не работает с «http».

Если на страницах сайта необходимо установить форму авторизации, то рекомендуется использовать "cookie" или «session»-авторизацию, так как в этом случае, если пользователь авторизован, на всех страницах сайта вы сможете отобразить, к примеру, персональное приветствие для авторизованного пользователя вместо формы авторизации.

Для вывода формы авторизации в макете есть методы $nc_auth->auth_form() и $nc_auth->auth_links(). Первый метод выводит форму авторизации, второй выводит ссылки «Регистрация» и «Авторизация», причем авторизация в этом случае будет идти через всплывающее окно. В любом случае вы можете самостоятельно написать форму авторизации, но она должна содержать следующие поля:

<form action='/netcat/modules/auth/' method='post'>
	<input type='text' name='AUTH_USER' /> # логин
	<input type='password' name='AUTH_PW' /> # пароль
	<input type='hidden' name='AuthPhase' value='1' />
	// куда будет перемещен пользователь после авторизации ( в данном случае — на текущую страницу )
	<input type='hidden' name='REQUESTED_FROM' value='<?= $REQUEST_URI?>' />
	<input type='hidden' name='REQUESTED_BY' value='<?= $REQUEST_METHOD?>' />
	<input type='hidden' name='catalogue' value='<?= $catalogue?>' />
	<input type='hidden' name='sub' value='<?= $sub?>' />
	<input type='hidden' name='cc' value='<?= $cc?>' />
	<input type='submit' value='Авторизоваться' />
</form>

При необходимости вы можете добавлять другие поля в эту форму (например, если вам нужно передать значения $template, $isNaked или др.).

Завершение сеанса может быть представлено как в виде формы, так и в виде ссылки. В виде формы это выглядит так:

<form action='/netcat/modules/auth/' method='post'>
	<input type='hidden' name='logoff' value='1' />
	<input type='hidden' name='REQUESTED_FROM' value='<?= $REQUEST_URI?>' />
	<input type='hidden' name='REQUESTED_BY' value='<?= $REQUEST_METHOD?>' />
	<input type='submit' value='Завершить сеанс' />
</form>

В виде ссылки так:

<a href='/netcat/modules/auth/?logoff=1
	&REQUESTED_FROM=<?= $REQUEST_URI?>
	&REQUESTED_BY=<?= $REQUEST_METHOD?>'>
	Завершить сеанс
</a>

Комментарии 3

Вадим  Вадим 30 сентября 2014, 13:28:30
Инструкция по настройке [URL='http://www.rebelcode.ru/php/ajax-avtorizaciya-v-cms-netcat/']ajax-авторизации на NetCat[/URL]
   
Максим 30 мая 2021, 14:39:44
2021 год, не работает ajax авторизация по данной инструкции
   
Pilot  Тех-Альянс 19 марта 2024, 18:35:23
20234 год, и не работает вывод сообщения — const NETCAT_MODULE_AUTH_INCORRECT_LOGIN_OR_RASSWORD = 'Неверно введен логин или пароль';
   
Описание проекта