После того, как аккаунт пользователя активирован, у него появляется возможность авторизоваться на сайте.
Существует несколько способов авторизации:
Подробнее о каждом варианте будет рассказано далее. В этом разделе речь пойдет об авторизации по логину и паролю.
Авторизация как для администраторов сайта, так и для всех остальных пользователей может быть трех типов: 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