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

Опубликовал kostia.ck в раздел Администрирование - Защита, права, пароли

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

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

 

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

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

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

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

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

Файлы

Наименование Файл Дата Размер Кол. Скачив.
Изменение пароля
.epf 7,95Kb
21.12.11
55
.epf 21.12.11 7,95Kb 55 Скачать

См. также

Комментарии

1. gutentag 22.12.2011 11:20
2. dumal 30.12.2011 20:05
Предлагаю поправить Ваш алгоритм, обернув его в транзакцию
# Ответить
3. bulpi 31.12.2011 15:51
Код непонятен
Вот это зачем ?

ПользовательИнформационнойБазы.Пароль = Пароль;
ПользовательИнформационнойБазы.Записать();
Ответили: (4)
# Ответить
4. juntatalor 09.01.2012 09:35
(3) Очевидно, это для получения нового хеша пароля (чтобы проверить авторизацию - совпадает ли то, что пользователь ввел в поле "пароль" с тем, что сохранено в информационной базе - если совпадает, то пароль можно изменить). Другими способами хеш пароля получать затруднительною. Подозреваю что он там мало что base64, так еще и с "солью".
# Ответить
5. IOL 13.02.2012 16:12
Все бы хорошо вот только 1С:Предприятие 8.2 (8.2.14.533) не обновляет после записи хеш пароля, пока пользователь не перезапустить клиента :((((
Ответили: (6)
# Ответить
6. ryst 25.05.2012 00:59
(5) IOL, и чтоже делать? нашел ктонибудь решение?
# Ответить
7. kostia.ck 25.05.2012 11:26
У меня стоит версия 8.2.14.528, обновляться не стали, нет потребности.
Как варианты:
1. Перед изменением пароля аутентифицировать пользователя средством ЗаблокироватьРаботуПользователя()
2. Откатить версию платформы.
3. Использовать аутентификацию windows.
# Ответить
8. Spacer (файл скачал) 26.11.2012 14:03
Что мы читаем в СП по поводу свойства "СохраняемоеЗначениеПароля"?

Примечание:
Доступно только пользователю с административными правами.

Т.е. что получается? Метод описанный в публикации будет работать только для пользователя с админскими правами?

Попробовал сейчас обойти это ограничение.
Если установить в модуле привилегированный режим - УстановитьПривилегированныйРежим(Истина),
то свойство "СохраняемоеЗначениеПароля" можно прочитать.
# Ответить
Внимание! За постинг в данном форуме $m не начисляются.
Внимание! Для написания сообщения необходимо авторизоваться
Текст сообщения*
Прикрепить файл