вот так вот...
Нужно было сделать авторизацию пользователя при смене пароля.
Добавил в шаблон system.auth.changepasswd в блок вывода сообщения следующее:
В $arAuthResult у меня возвращается единица - так как будто USER->Login авторизует. Но по факту пользователь остается неавторизованным.
Я так понимаю не проставляется кука. Почему? Если я делаю это в рамках обычной страницы - а не в шаблоне - все работает на ура.
Что я делаю не так?
Нужно было сделать авторизацию пользователя при смене пароля.
Добавил в шаблон system.auth.changepasswd в блок вывода сообщения следующее:
Код |
---|
if ($arParams["~AUTH_RESULT"]["TYPE"] == "OK" && $arResult["LAST_LOGIN"] != '') { // если все хорош // и пароль сменен $LOGIN = $arResult["LAST_LOGIN"]; $PASSWORD = $arResult["USER_PASSWORD"]; $arFilter = Array( 'LOGIN' => $LOGIN, ); $rsUsers = CUser::GetList(($by='personal_country'), ($order='desc'), $arFilter); // получаем пользователя по логину if ($arUser = $rsUsers->Fetch()) { if ($LOGIN == $arUser['LOGIN']) { // Убедимся что выбрали именно того пользователя которого хотели global $USER; if (!is_object($USER)) $USER = new CUser; $arAuthResult = $USER->Login($LOGIN, $PASSWORD, "Y"); // авторизуем его используя логин и пароль $APPLICATION->arAuthResult = $arAuthResult; $success = ($arAuthResult == 1); print('<pre>'.print_r((array)$arAuthResult,true).'</pre>'); print('<pre>'.print_r((array)$arResult,true).'</pre>'); if($success):?> <p class="message"> Вы будете перенаправлены на страницу личного кабинета <span class="when">через <span class="countdown">25</span> сек</span>.<br> Нажмите <a href="/personal/">здесь</a> если не хотите ждать или это не происходит автоматически. </p> <sc ript> setInterval(function(){ var $cd = $(".countdown"); if ($cd.length > 0) { var count = parseInt($cd.text())-1; if (count > 0) { $cd.text(count); } else { $('.when').text('прямо сейчас'); } $cd.text(parseInt($cd.text())-1); } },1000); setTimeout(function(){ window.location.href = "/personal/"; }, 25000); </sc ript> <?endif; } } } |
Я так понимаю не проставляется кука. Почему? Если я делаю это в рамках обычной страницы - а не в шаблоне - все работает на ура.
Что я делаю не так?