Closed deni-tda closed 2 weeks ago
Нашли решение проблемы
Может и не самое красивое, но работает
обработка: ИТК_Пользователи
Форма: ЗапускПодПользователем
Функция ПодменитьДанныеАвторизации
Функция ПодменитьДанныеАвторизации(УникальныйИдентификаторПользователя)
ПользовательИБ = ПользователиИнформационнойБазы.НайтиПоУникальномуИдентификатору(УникальныйИдентификаторПользователя);
Результат = Новый Структура;
Результат.Вставить("УникальныйИдентификатор", ПользовательИБ.УникальныйИдентификатор);
Результат.Вставить("АутентификацияСтандартная", ПользовательИБ.АутентификацияСтандартная);
Результат.Вставить("ЗапрещеноИзменятьПароль", ПользовательИБ.ЗапрещеноИзменятьПароль);
Результат.Вставить("СохраняемоеЗначениеПароля", ПользовательИБ.СохраняемоеЗначениеПароля);
ПользовательИБ.АутентификацияСтандартная = Истина;
ПользовательИБ.ЗапрещеноИзменятьПароль = Истина;
//++ТДА 24.10.2024 Обход ошибки при настройке "Запрет повторения пароля среди последних - "
Если ПользователиСлужебныйПовтИсп.Настройки().ОбщиеНастройкиВхода Тогда
НастройкиВхода = ПользователиСлужебный.НастройкиВхода();
КолВоПовторений=1;
Пароль="Qwerty123456789!";
Пока КолВоПовторений<=НастройкиВхода.Пользователи.ЗапретитьПовторениеПароляСредиПоследних Цикл
Пароль=Пароль+Строка(КолВоПовторений);
ХешированиеДанных = Новый ХешированиеДанных(ХешФункция.SHA1);
ХешированиеДанных.Добавить(Пароль);
СохраняемоеЗначениеПароля = Base64Строка(ХешированиеДанных.ХешСумма);
ХешированиеДанных = Новый ХешированиеДанных(ХешФункция.SHA1);
ХешированиеДанных.Добавить(ВРег(Пароль));
СохраняемоеЗначениеПароля = СохраняемоеЗначениеПароля + ","
+ Base64Строка(ХешированиеДанных.ХешСумма);
ПользовательИБ.СохраняемоеЗначениеПароля = СохраняемоеЗначениеПароля;
ПользовательИБ.Записать();
КолВоПовторений=КолВоПовторений+1;
КонецЦикла;
КонецЕсли;
//--ТДА
СохраняемоеЗначениеПароля = "UFsxOq/KlPH4n3Txbhh6F6hgG+A=,aQp2yfJ4uMWBrAqjri9wVyXy/M4="; //Это хэш-функция строки "Qwerty123456789!"
ПользовательИБ.СохраняемоеЗначениеПароля = СохраняемоеЗначениеПароля;
ПользовательИБ.Записать();
Возврат Результат;
КонецФункции
Нашли решение проблемы Может и не самое красивое, но работает обработка: ИТК_Пользователи Форма: ЗапускПодПользователем Функция ПодменитьДанныеАвторизации
Функция ПодменитьДанныеАвторизации(УникальныйИдентификаторПользователя)
ПользовательИБ = ПользователиИнформационнойБазы.НайтиПоУникальномуИдентификатору(УникальныйИдентификаторПользователя); Результат = Новый Структура; Результат.Вставить("УникальныйИдентификатор", ПользовательИБ.УникальныйИдентификатор); Результат.Вставить("АутентификацияСтандартная", ПользовательИБ.АутентификацияСтандартная); Результат.Вставить("ЗапрещеноИзменятьПароль", ПользовательИБ.ЗапрещеноИзменятьПароль); Результат.Вставить("СохраняемоеЗначениеПароля", ПользовательИБ.СохраняемоеЗначениеПароля); ПользовательИБ.АутентификацияСтандартная = Истина; ПользовательИБ.ЗапрещеноИзменятьПароль = Истина; //++ТДА 24.10.2024 Обход ошибки при настройке "Запрет повторения пароля среди последних - " Если ПользователиСлужебныйПовтИсп.Настройки().ОбщиеНастройкиВхода Тогда
Спасибо это поможет быстрее разобраться
Исправлено в 2024.3.5
На примере пользователя – у пользователя включена только Аутентификация ОС, стандартная аутентификация отключена:
Используем обработку Пользователи (Toolkit), заходим под пользователем– Запустить под пользователем - Запуск.
Происходит вход под пользователем. Если в окне запуска нажать «Закрыть», то в момент закрытия окна возникает служебное сообщение:
В журнале регистрации появляется ошибка:
Затем в карточке пользователя, под которым выполняется вход, устанавливается стандартная аутентификация и появляется предупреждение в верхней части формы:
При входе под пользователями не возникает ошибок в журнале регистрации, служебных сообщений в окне запуска под пользователем. Стандартная аутентификация не остается включенной после входа под пользователем.