Login проблема с активацией пользователя
Здравствуйте!
Помогите с решить проблему связанную с регистрацией через Login. Есть форма регистрации, заполняя ее получаем письмо на почту, но когда переходим по ссылке из письма(в моем случае в личный кабинет), новый пользователь создается, но не активируется. И следовательно выкидывает на страницу с ошибкой. В вкладке пользователи новый пользователь создается но статус не активный. В чем может быть мой касяк?
Помогите с решить проблему связанную с регистрацией через Login. Есть форма регистрации, заполняя ее получаем письмо на почту, но когда переходим по ссылке из письма(в моем случае в личный кабинет), новый пользователь создается, но не активируется. И следовательно выкидывает на страницу с ошибкой. В вкладке пользователи новый пользователь создается но статус не активный. В чем может быть мой касяк?
Комментарии: 2
Пользователь в сниппете Login должен создаваться (но не активироваться) уже на шаге отправки письма.
Проблема может быть с правами на просмотр страницу (в вашем случае — личный кабинет). Возможно, еще неавторизованный пользователь переходит на страницу, не проходит по уровню доступа и сниппет активации просто не успевает отработать.
Попробуйте создать отдельную страницу для активации, которая, в случае успеха, будет перекидывать на личный кабинет.
Проблема может быть с правами на просмотр страницу (в вашем случае — личный кабинет). Возможно, еще неавторизованный пользователь переходит на страницу, не проходит по уровню доступа и сниппет активации просто не успевает отработать.
Попробуйте создать отдельную страницу для активации, которая, в случае успеха, будет перекидывать на личный кабинет.
в \core\components\login\controllers\web\ConfirmRegister.php
public function validatePassword() {
$this->modx->getService('registry', 'registry.modRegistry');
$this->modx->registry->addRegister('login','registry.modFileRegister');
$this->modx->registry->login->connect();
$this->modx->registry->login->subscribe('/useractivation/'.$this->user->get('username'));
$msgs = $this->modx->registry->login->read(); // отчегото только Array() - пусто
if (empty($msgs)) $this->modx->sendErrorPage();
$found = false;
foreach ($msgs as $msg) {
if ($msg == $this->password) {
$found = true;
}
}
if (!$found) {
// $this->redirectAfterFailure();
}
return $found;
}
вот тут пока проблема$msgs = $this->modx->registry->login->read(); // отчегото только Array() - пусто
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.