Изменение пароля под тонким и веб-клиентом


Изменение пароля под тонким и веб-клиентом.

С началом работы пользователей в веб-клиенте появилась нужда изменять пароль пользователя на текущем клиенте, но стандаратных средств нет. Собственно изменить пароль не так и сложно - сложнее идентифицировать пользователя перед выполнением операции. Расшифровывать текущий хеш пароля (sha завернутое в base64) или шифровать его (у меня не получилось) тоже будет не самым оптимальным решением по соотношению затраченное время/полученный результат.

 

Предлагаю свой вариант алгоритма изменения пароля.

// Если хеш подтверждения пароля совпадает со старым хешем тогда изменяем пароль
ПользовательИнформационнойБазы = ПользователиИнформационнойБазы.ТекущийПользователь();
ХешАвторизации = ПользовательИнформационнойБазы.СохраняемоеЗначениеПароля;

ПользовательИнформационнойБазы.Пароль = Пароль;
ПользовательИнформационнойБазы.Записать();

ХешНовогоПароля = ПользовательИнформационнойБазы.СохраняемоеЗначениеПароля;

Если
ХешНовогоПароля = ХешАвторизации Тогда
   
ПользовательИнформационнойБазы.Пароль = НовыйПароль;
   
ПользовательИнформационнойБазы.Записать();
Иначе
   
ПользовательИнформационнойБазы.СохраняемоеЗначениеПароля = ХешАвторизации;
   
ПользовательИнформационнойБазы.Записать();
КонецЕсли;

Файлы обработки:

-