Телефон в Москве:

(495) 788-77-16

в Санкт-Петербурге:

(812) 313-28-51

по России (бесплатно):

8-800-555-11-32

Опыт  говорит  сам  за  себя:

• более 130 реализованных проектов за все время существования компании

• успешное сотрудничество с крупнейшими компаниями российского бизнеса

Подстановка логина при смене пароля 1С-Битрикс

Подстановка логина при смене пароля 1С-Битрикс

На некоторых проектах наши клиенты сталкиваются с проблемой восстановления пароля от сайта под управлением 1С-Битрикс.

Вроде все шаги штатные:
1) Нажали "Забыли пароль"
2) Получили письмо
3) Прошли по ссылке
4) Прописали новый пароль

А зачастую получают "Контрольная строка не верна".

Я не рассматриваю вариации, когда запрос сделали давно и срок действия контрольной строки истек.
[spoiler]
Проблема кроется в том, что стандартный почтовый шаблон передает в письме логин, на который осуществляется попытка восстановления, а браузер при открытии пытается из cookies прочесть логин, по которому была последняя авторизация. А это зачастую разные логины! Поэтому и получается, что строка принадлежит совершенное другому логину.

Самое забавное, что стандартный системный компонент 1С-Битрикс умеет в запросе получать информацию о логине, по которому пытаются восстановить пароль пользователи.

Но почему-то в стандартный почтовый шаблон не введена информация для передачи.

Итак, как решить эту проблему:

1) В административной части сайта входим в Настройки -> Настройки продукта -> Почтовые события -> Почтовые шаблоны ( http://ваш_сайт/bitrix/admin/message_admin.php?lang=ru )
2) Находим и редактируем шаблон с "Типом почтового события" равным "[USER_PASS_REQUEST] Запрос на смену пароля"
3) Меняем строку
http://#SERVER_NAME#/auth.php?change_password=yes&USER_CHECKWORD=#CHECKWORD#
на строку
http://#SERVER_NAME#/auth.php?change_password=yes&USER_CHECKWORD=#CHECKWORD#&USER_LOGIN=#LOGIN#
Теперь при переходе по ссылке восстановления заполняется в форме восстановления не только контрольная строка, но и логин, по которому осуществляется восстановление.