Если Вы используете NetCat Standard, а в Вашем проекте есть необходимость ограничить доступ в некоторые разделы сайта, открыв в них доступ только авторизованным пользователям, то сделать упрощенный вариант "Личного кабинета" Вы можете легко, воспользовавшись следующей инструкцией:
1. Создайте в корне сайта раздел со страницей авторизации и ключевым словом, например, "login". К разделу привяжите компонент "Простая страница" и добавьте в этот раздел следующий HTML-код:
Код:
<form action='/' method='post'>
<h2>Авторизация</h2>
<input type='hidden' value='1' name='AuthPhase' />
<input type='hidden' value='Russian' name='NEW_AUTH_LANG' />
<table>
<tr><Td style='width:60px;'>Логин:</td><td><input type='text' value='' maxlength='255' size='32' name='AUTH_USER' style='width:150px;' /></td></tr>
<tr><Td>Пароль:</td><td><input type='password' value='' maxlength='255' size='32' name='AUTH_PW' style='width:150px;' /></td></tr>
<tr><Td></td><td><input type='submit' value='Войти' /></td></tr>
</form>
2. В шаблонах вывода навигации
главного макета дизайна Вашего сайта в самое начало, до любых других операторов, вставьте такой код:
Код:
define("NC_AUTH_IN_PROGRESS", 1);
if(isset($_REQUEST['logout'])) {Unauthorize(); header("Location: /login/"); die();}
if($sub!=1 && !$current_user['User_ID']) {header("Location: /login/");die();}
Исправьте в выделенном месте (
$sub!=1) номер раздела на тот номер, который образовался у Вас в п.1 (страница авторизации).
3. Установите там, где нужно, ссылку на завершение сеанса работы, например такую:
Код:<a href="/?logout">Выйти</a>
4. Создайте пользователей через "админку" обычным способом, а также штатным способом настройте доступ в те разделы, где нужна авторизация (например, в настройках некого раздела "Личный кабинет" укажите тип доступа "Только зарегистрированным".
Теперь можно пользоваться!
Если требуется полноценный "личный кабинет" с возможностью самостоятельной регистрации, восстановления и смены пароля и т.д, то Вам следует пользоваться не этим решением, а просто обновить редакцию Вашей NetCat Standard до редакции не ниже NetCat Business - в ней весь этот функционал уже реализован.
Если Вы хотите, чтобы при использовании вышеуказанной технологии список пользователей и паролей задавался не вручную, а импортировался из внешних источников (excel-файл, XML-данные, 1С и т.д.), Вы можете обратиться в нашу компанию для разработки соответствующей процедуры обмена.
Скачать с сайта разработчика
Комментарии 4
Но если вы хотите, чтобы авторизация работала хоть по емайлу, хоть по логину, без изменения vars.inc.php, то нужно использовать другую процедуру авторизации (см.подсказку в нашем решении "Быстрая регистрация пользователей интернет-магазинов", функция Authorize()).
А для отображения баланса пользователя используйте переменную $current_user['Account'] (при условии, что для баланса в настройках CMS у вас используется поле Account системной таблицы "Пользователи").