Регистрация
Регистрируясь, вы подтверждаете свое согласие с соглашением об использовании персональных данных.
Восстановление пароля

Автоматическая авторизация

Страницы: 1  |  2
23.02.2010, 09:26
Гость
Гость

Подскажите как зделать автоматическу авторизацию после подтверждения емайла тобиш когда пользователь тыкает в своём емайле на ссылку, он не ткоа подтверждает емайл но и тудже авторизуется

зарание, спасибо
23.02.2010, 15:23
Denis
Denis

Зарегистрирован:
2008-07-15
Сообщений: 666

пропишите в действии после включения/выключения пользователя, что если идет подтверждение ( можно отследить по URL), то надо вызвать функцию Authorize(номер пользователя)

Ксю доставляет...
24.02.2010, 11:07
Гость
Гость

в "Системные таблицы => Пользователи => Изменение => Действие после включения и выключения объекта" прописываю следующий код:
Код:
";
authorize(1)
echo "


если я правельно понял, то пользователь перешедший по ссылки с емайла (подтверждение емайла) должен автоматом авторизоватся

но у меня невыходит, в чем может быть проблема? и для какой верси нет ката ваш способ?
24.02.2010, 11:14
pe3udent
Артур Юсупов

Зарегистрирован:
2008-04-03
Сообщений: 220

Написали же, нужно отследить подтверждение регистрации (по URL), кроме того, посмотрите на название функции Authorize и сравните с тем что написали Вы.
24.02.2010, 19:09
Гость
Гость

Насколько я понял отслеживание по урл это не обязательно, служит лиш для того чтоб отследить имено момент подтверждения емайла

Попробывал

Код:
";

Authorize(1);

echo "


Я вас правельно понял?
25.02.2010, 08:24
pe3udent
Артур Юсупов

Зарегистрирован:
2008-04-03
Сообщений: 220

Да, именно так.
25.02.2010, 08:48
Гость
Гость

не работает
25.02.2010, 08:58
pe3udent
Артур Юсупов

Зарегистрирован:
2008-04-03
Сообщений: 220

Если честно, сам так никогда не делал, поэтому ничего полезного не скажу.
Обычно создаю скрытый раздел, в котором описываю всю логику - подтверждение регистрации и другие необходимые операции. В нем можно и залогинить юзера.
25.02.2010, 10:20
Гость
Гость

если есть пару свободных минут накидай пожалуйста код авторизации
25.02.2010, 10:43
pe3udent
Артур Юсупов

Зарегистрирован:
2008-04-03
Сообщений: 220

Руководство по модулям, страница 44 - "Авторизация по хэшу", там есть примеры, сделайте так же.
02.09.2010, 17:00
Широков Роман

Зарегистрирован:
2010-07-21
Сообщений: 8

Есть решение )
Наверняка есть возможность сделать лучше, но я ее увы не нашел. Итак:
1) Настройки интерфейса пользователя AUTH_HASH_ENABLED = 1;
2) В "Системные таблицы -> Пользователи -> Добавление -> Действие после добавления объекта"
Код:
//Автологин
$nc_auth = nc_auth::get_object();
$hash = $nc_auth->hash->create_auth_hash( $message, null, null);

$message_body = str_replace('%USER_LOGIN', $f_Login, $message_body);
$message_body = str_replace('%CONFIRM_LINK', $ConfirmationLink."&auth_hash=$hash", $message_body);


3) в confirm.php
Код:

$hash = $_REQUEST['auth_hash'];
if ($db->rows_affected) {
header("location: /userconfirm/confirmed/?auth_hash=$hash");
}
elseif (!$AUTH_USER_ID) {
header("location: /userconfirm/fail/");
}

Изменение обработчика подтверждения ножно потому что в самом обработчике авторизация не предусмотрена, зато если перенапрвить пользователя с хешем в любой раздел то она отлично проходит.
Все ОК.
Не забудте создать разделы на сайте /userconfirm/confirmed/ и /userconfirm/fail/

stampaviva
198 196 2010-09-09 18:32:18 9863
Страницы: 1  |  2
Описание проекта