авто-авторизация после регистрации.
Как сразу авторизировать юзера и перенаправить в профиль?
Подскажите хотя бы какой файл обрабатывает метод post при регистрации, догадываюсь что там можно и авто-авторизацию сделать и реддирект.
Буду очень благодарен за подсказку.
З.Ы. Снова забыл указать версию😊INCMS 2.1.1 Последняя.
А как же авторизация через почту?
Последняя InstantCMS 2.2.1
А как же авторизация через почту?
Да простите, перепутал версию. Вобщем у меня последняя. Скачал несколько дней назад.
Авторизация через почту мне не нужна. Мне нужно чтоб после регистрации юзера сразу редиректило в редактирование его профиля, а для этого нужно что бы он был авторизирован.
Блицкриг, в настройках компонента "Авторизация и регистрация" уберите галочки "Требовать подтверждения e-mail при регистрации" и "Регистрация только по приглашениям". Наверное это хотел сказать Cтудия Sitestroi.
Я это и так знаю. Я спрашивал немного о другом… объясню подробней.
Когда юзер регистрируется, после того как заполнит форму регистрации и нажмёт кнопку "Отправить", редиректит на главную страничку сайта и он неавторизирован. Всплывает зелёная полоска с текстом "Вы успешно зарегистрировались" и всё.
После чего он вводит свои данные и входит на сайт.
Я спрашивал в каком файле можно это отредактировать, то есть сделать чтоб после регистрации, всплывала не только полоска с сообщением что он успешно зарегался, но и автоматом авторизировало и перенаправляло на страницу редактирования профиля.
Я не могу найти в каком контроллере (файле) нужно этот код писать. Код авто-авторизации и редиректа на редактирование его профиля. Вот о чём я спрашивал. К сожалению сие через админку не решить.
З.Ы. Ещё подскажите пожалуйста, есть ли аналог вот такой записи на редирект редактирования профиля: $this->redirectToHome, что то типо redirectTo EditProfile
По поводу редиректа: есть в файле \system\core\controller.php такая функция
/** * Редирект на главную страницу */ public function redirectToHome(){ $this->redirect(href_to_home()); }
Если Вы не сильно торопитесь — попробую сделать такое. В пхп вообще ничего не смыслю, поэтому придется делать методом научного тыканья… раз профессионалы помочь не хотят...
В общем редирект на профиль пользователя после авторизации можно организовать двумя способами:
1. Прямо в файле \system\controllers\auth\actions\register.php в 233 строке вместо $this->redirectToHome вписать $this->redirect(href_to('users', $user->id));
2. Вписать туда же $this->redirectToUser, а в файле \system\core\controller.php создать новую функцию
public function redirectToUser(){ $this->redirect(href_to('users',$user->id)); }
При этом выдается надпись об успешной регистрации, но вход на сайт не произведен.
Сразу предупреждаю, толку от этих редиректов ровным счетом никакого, потому что новозарегистрированный пользователь пока не авторизован, сессия не начата и никакого id у этого юзера нет. Поэтому оба эти способа выбрасывают на site.ru/users то есть на список пользователей.
При этом выдается надпись об успешной регистрации, но вход на сайт не произведен.
Вот в этом то и проблема. С редиректом я точно так же разобрался. А вот с сессиями и кукисами у меня всегда было дико сложно.
Теоретически я понимаю что после регистрации, введённые пользователем данные должны попасть вроде как в кукисы и записаться в сессию… перед редиректом должна проверка сессии пройти вроде как и если всё ок перекинуть на редактирование профиля… как то так наверное. В пыхе не силён, потому и клянчил помощ у спецов тут =)
Не знаю как это сделать, надеюсь ребята всё же помогут с авто-авторизацией.
UPD: $this->redirect(href_to('users', $user->id)); Это не нужно вписывать, кстати, в контроллер регистрации (auth/controllers/actions бла бла бла register.php)
Достаточно $this->redirectToUser(); при условии что создана функция.