Обробка тимчасової або постійної заміни пароля Аутентифікації 1С: Підприємства 8.2-8.3

Простенька обробка на керованих і звичайних формах під платформу 8.2-8.3, що дозволяє змінити пароль Аутентифікації 1С: Підприємства і повернути назад. Буде корисна адміністраторам, програмістам, пов'язаних з 1С.

Нещодавно зіткнувся з проблемою, яка вимагала простенького рішення. Власне, проблему можна вмістити в одне питання: як допомогти користувачеві, не знаючи і не скидаючи його пароль?

У багатьох конторах, щоб відтворити помилку, адміністратори, програмісти та інші технічні фахівці користувалися Аутентифікацією 1С: Підприємства. Тобто користувач «скаржився» на помилку, під ним заходили фахівці і намагалися відтворити помилку. Отримували помилки і виправляли її в коді.

З розвитком мобільної платформи та мобільних клієнтів Аутентифікація 1С: Підприємства стає «зайнята» користувачем, так як синхронізація проходить саме по ній. Тобто не кожен користувач захоче розголошувати свої паролі або користуватися тим паролем, що йому «призначили». Наша контора також все більше і більше підв'язується з мобільними клієнтами. Ось тут і виник згаданий раніше питання.

Я перерив простори інтернету, знайшов купу описаловок як ламати паролі у файловій БД або в серверних версіях.
У випадку з файлової версією не потрібно ні яких прав достатньо встановити програму перегляду файлів баз *.1CD і міняємо паролі в таблиці V8USERS. Варто зауважити, що паролі там зберігаються не в чистому вигляді, а зберігається хеш пароля. Власне хеш невідомого пароля змінюється на хеш відомого пароля. У разі серверних баз потрібно знати логін адміністратора БД і там вже справа не хитра поміняти пароль. Але як пояснити користувачеві помилку аутентифікації після таких зломів? Та й до чого такі складнощі?

Знайшов так само обробку, яка підбирає паролі при цьому вимагає такі ж права, як і моя обробка. Ну підбирає пароль 123 або навіть 123456 вона швидко, а що якщо пароль справжній? Вона пише близько 90 днів буду підбирати. Це не в які ворота! Може вийти така ситуація, поки підбирали пароль, користувач змінив пароль. Та ще й не 1 раз може змінити.

Загалом пропоную невелику обробку, яка змінює хеш невідомого пароля на хеш бажаного пароля, а потім підміняє назад. Працює вона в Керованих формах, так і під звичайні форми. Може бути вбудована через «додаткові обробки та звіти», процедура модуль об'єкта з описом обробки додана.



Ну або можна вбудувати через «Розширення конфігурації» — дуже корисна можливість, на даний момент дозволяє додавати обробки та звіти в конфігурацію не знімаючи її з підтримки. Тобто типова конфігурація залишається типовою навіть при додаванні обробки.

Принцип роботи:

За користувачеві отримуємо хеш пароля.

//Користувач елемент довідника Користувачів
ПользовательИБ = ПользователиИнформационнойБазы.НайтиПоУникальномуИдентификатору(Пользователь.ИдентификаторПользователяИБ);
//СохраняемоеЗначениеПароля зберігає хеш пароля
ПарольПользователя = ПользовательИБ.СохраняемоеЗначениеПароля;
//Ім'я зберігає логін користувача
ЛогинПользователя = ПользовательИБ.Ім'я;

Вводимо бажаний пароль і отримуємо його хеш.



Міняємо хеш користувача хеш бажаного пароля.



Входимо в систему під новим паролем. Міняємо все назад.



Посилання на скачування обробки

Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.