|
|
23.02.2010, 09:26
|
|
Гость
Гость
|
Подскажите как зделать автоматическу авторизацию после подтверждения емайла тобиш когда пользователь тыкает в своём емайле на ссылку, он не ткоа подтверждает емайл но и тудже авторизуется
зарание, спасибо
|
|
|
23.02.2010, 15:23
|
|
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
|