Как получить пароль пользователя 1с программно
Перейти к содержимому

Как получить пароль пользователя 1с программно

  • автор:

Как получить пароль пользователя 1с программно

Всем привет. Есть задача, вывести на форму поле, в которое пользователь забивает пароль пользователя, если пароль не верен, то ничего не происходит, если введенный пароль верен, то происходит чудо.

Проблема в том, что реквизит пароль у пользователя ИБ недоступен для чтения. Кто подскажет как выйти из положения?

ни как. Пароль только для записи

(1) А какая может быть альтернатива? Создавать реквизит «Пароль2», который не выводить на форму справочника Пользователи и к нему обращаться?

(2) а хз. Ты ж не говришь, какая у тебя задача. Ты рассказываешь, как ты ее решать собрался.
В этой стороне решения нет.

Хочешь подсказок, рассказывай задачу. Не хочешь рассказывать — думай сам

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

По задумке, менеджер должен заполнить реквизиты документа, а потом ввести свой пароль. Если пароль пользователя совпадает, то то тогда документ записывается, если не совпадает, тогда се ля ви.

ps вспомнил, есть обработка перенос пользователей ИБ, сейчас посмотрю, они как то там хитрозадо из xml этот пароль перетаскивают.

хеш пароля

есть вот такая вот штука:
ПользователиИнформационнойБазы.ТекущийПользователь().СохраняемоеЗначениеПароля
но это не подходит, там хеш (6)

да создай ты еще один реквизит у пользователя и туда паролей нафигачь, безопасность нулевая зато получишь то что тебе надо

(4) нахрен ЭТО надо? Перестаньте ходить под одним пользователем и всё.
(7) вот хеши и сравнивай

(8) а если юзверь пароль изменит, то ему прийдется один вводить при входу, второй вводить при создании документа.

а! или у них в торговом зале один комп на всех, а продажи вы хотите считать по каждому?
(10) а как получить хеш введенной строки?

(12) да, в торговом зале один комп, пока хочу понимать, кто во сколько на работу приходит, потом будем продажи по пользователям разделять.

Гугл в помощь.

(9) тебе не понять, у обезьян один комп в торговом зале, перелогиниваться они не будут из вредности, лучше одинесника озадачить, а то он зарплату запросто так получает

(14) Прикручивай сканер отпечатков пальцев, а то вдруго ни пароли друг другу расскажут.

+(12) тогда так:
1. Пароль хранить в отдельном реквизите справочника Пользователи
2. В интерфейс вынести кнопку «Сменить пользователя»
По нажатию этой кнопки у пользователя запрашивается имя пользователя и пароль.
Если введенный пользователь есть в справочнике и пароль совпадает с тем, что в справочнике, то тогда проворачиваем всю ту же кутерьму, кторая происходит при начале работы системы в связи с установкой параметра сеанса ТекущийПользователь.
3. Добавить кнопку «Сменить пароль», кторая записывае новый пароль в справочник и в ПольователиИнформационнойБазы
4. для верности — регзадание, которое принудительно всем пользователям ИБ устанавливает пароль из справочника

При проведении документа закрывай систему ))
. пальцы тоже могут. но они могут испортиться. и их конеченое количество.
Вопрос меняется на другой. Как получить хеш введенной пользователем строки ?

(14) дай им штрихкод на телефон.
Пришел на работу, показал телефон сканеру, сканер запомнил, когда пришел этот чел на работу. Задача решена без паролей.

Да, будут передавать шриходы друг другу. Но они и пароли так же будут передавать

А штрихкоды можно ночером новые слать

(23) гуманоиды могут телефон забыть. Короче тут нужен пароль.

какое хеширование используется в пароле?

HASH / MESSAGE DIGEST АЛГОРИТМЫ
MD5 Hash
SHA1 хэш
SHA256 Хэш
SHA384 Хэш
SHA512 Хэш
RIPE MD160 Hash

Их вона как много

Хешер = Новый ХешированиеДанных(ХэшФункция.SHA256);
Хешер.Добавить(«влоарфыдлрдларфыдлвпрыдлпрвыдпы»);

точнее
СОобщить(XMLСтрока(Хешер.ХэшСумма)) — так строку получишь
(24) тупая отмазка. пароль точно также забудут. Точнее они их распечатают и под клавиатуру положат
Забыл телефон дома — пошел наиух домой за телефоном
(0) зачем все эти пароли. сделай сотрудникам бейджи со штрихкодами, пусть их сканируют при подходах
(30) спасибо!
(31) они их потеряют или сканер сломают
(27) Можно пример рабочего кода? я не понимаю без контекста (((
Пальцы надежнее и чтоб ногти только не грызли вместе с пальцами

(28) (31) (33) (35) есть такой человек — руководитель отдела продаж. У него голова как у лошади — большая. Вот пусть ей и думает.

Мое дело телячье — сделал и сдал. Потом переделал, еще заработал.

(36) Делай многофакторную авторизацию. Приложил палец — пришел штрихкод на телефон, отсканировал штрихкод. а потом еще ввод пароля.

Класс, есть типовая функция:

// Возвращает сохраняемое значение пароля для указанного пароля.
//
// Параметры:
// Пароль — Строка — пароль для которого нужно получить сохраняемое значение.
//
// ИдентификаторПользователяИБ — УникальныйИдентификатор — пользователя ИБ для которого нужно
// сравнить сохраняемое значение с полученным и результат поместить
// в следующий параметр Совпадает.
//
// Совпадает — Булево (возвращаемое значение) — см. комментарий к параметру.
// ИдентификаторПользователяИБ.
// Возвращаемое значение:
// Строка — сохраняемое значение пароля.
//
Функция СохраняемоеЗначениеСтрокиПароля(Знач Пароль,
Знач ИдентификаторПользователяИБ = Неопределено,
Совпадает = Ложь) Экспорт

даже без велосипеда все работает ))))

1С 8.3 Получить сохраненные пароли — Программист 1С Минск. Автоматизация бизнеса.

ПРИМЕРЫ КОДА 1С

Перейти в раздел примеры кода 1С 8.3:

Программно получить сохраненные пароли в базе данных 1С 8.3:

Функция Получить_сохраненные_пароли () Экспорт // из регистра

// Функция позволяет:
// получить пароль системной учетной записи 1С
// учетный данные для обмена 1С с интернет магазином
// внутренний адрес менеджера сервиса
// пароль интернет поддержки пользователей
// и другие учетные жданные 1С

ДанныеСтр = Новый Структура ();

Запрос = Новый Запрос ;
Запрос . Текст =
«ВЫБРАТЬ
| БезопасноеХранилищеДанных.Данные КАК Данные
|ИЗ
| РегистрСведений.БезопасноеХранилищеДанных КАК БезопасноеХранилищеДанных
|ГДЕ
| БезопасноеХранилищеДанных.Владелец = &Владелец» ;

//будет выведен не весь список, а по конкретному владельцу
//Запрос.УстановитьПараметр(«Владелец», Владелец);
РезультатЗапроса = Запрос . Выполнить (). Выбрать ();

Если РезультатЗапроса . Следующий () Тогда
Если ЗначениеЗаполнено ( РезультатЗапроса . Данные ) Тогда
ДанныеИзХранилища = РезультатЗапроса . Данные . Получить ();
Если ЗначениеЗаполнено ( ДанныеИзХранилища ) Тогда
ЗаполнитьЗначенияСвойств ( ДанныеСтр , ДанныеИзХранилища );
КонецЕсли;
КонецЕсли;
КонецЕсли;

Получить (через БСП) сохраненные пароли в 1С 8.3:

Процедура Получить_сохраненные_пароли_БСП ( IDподсистемы ) Экспорт

ОбщегоНазначения . ПрочитатьДанныеИзБезопасногоХранилища ( IDподсистемы , «Пароль» );

Получить сохраненные пароль и логин ИТС из базы данных в 1С 8.3:

Процедура Получить_сохраненные_пароль_и_логин_ИТС () Экспорт

Авторизация = ИнтернетПоддержкаПользователей . ДанныеАутентификацииПользователяИнтернетПоддержки ();
Логин_авторизация = «» ;
Пароль_авторизация = «» ;

Попытка
Для Каждого ЭлементАвторизации Из Авторизация Цикл
Сообщить ( ЭлементАвторизации . Ключ + » Логин» Тогда
Логин_авторизация = ЭлементАвторизации . Значение ;
Сообщить ( «Логин: » + Логин_авторизация );
ИначеЕсли ЭлементАвторизации . Ключ = «Пароль» Тогда
Пароль_авторизация = ЭлементАвторизации . Значение ;
Сообщить ( » Пароль : » + Пароль_авторизация );
КонецЕсли;
КонецЦикла;
Исключение

Сообщить ( «Регистрационные данные ИТС отсутствуют!» );
//Добавить свои данных в хранилище можно так:
//ОбщегоНазначения.ЗаписатьДанныеВБезопасноеХранилище(ИнтернетПоддержкаПользователей.ИдентификаторПодсистемы(), «Ваш логин от ИТС», «login»);
//ОбщегоНазначения.ЗаписатьДанныеВБезопасноеХранилище(ИнтернетПоддержкаПользователей.ИдентификаторПодсистемы(), «Ваш Пароль от ИТС», «password»);

Можно ли получить пароли и логины пользователей

Был файл с сохраненными логинами и паролями на случай если что-то нужно было проверить или настроить под пользователем, так получилось что из-за аварии эти данные потерялись. Можно ли получить пароли пользователей программно или надо анкетировать юзверей )))?

По теме из базы знаний

  • Гарри Поттер и подкапотное пространство веб-клиента
  • Разработка гибридного web-приложения на 1С, возможности и ограничения
  • Утилита тестирования сервера 1С от HADGEHOGs
  • История одного взлома или проверьте вашу систему на безопасность
  • Чем Service Discovery поможет 1С-нику и его клиентам?
  • Дата
  • Дата
  • Рейтинг всех уровней
  • Рейтинг 1-го уровня
  • Древо развёрнутое
  • Древо свернутое

Свернуть все
3. nomad_irk 68 19.09.22 14:00 Сейчас в теме
(1)Можно получить HASH пароля, сам пароль — проще спросить у пользователя.
4. Prikum 3 19.09.22 14:03 Сейчас в теме

(1)к выше сказанному, есть обработки, которые позволяют не знаю пароля (не меняя) пользователя заходить под ним в базу.

7. laperuz 46 20.09.22 04:52 Сейчас в теме

(1)У меня тут 2 года на инфостарте лежала обработка, которая получала хэши паролей пользователей, загружала на hashes.com и выводила, если смогла подобрать, администратору эти пароли. Но недавно ее удалили, мотивировав тем, что удаляют с инфостарта все подобные обработки(

Так что можно вручную попробовать это все проделать.

2. user1831019 19.09.22 13:52 Сейчас в теме
Пароли в базе не хранятся.
5. user686924_shipikVV 19.09.22 15:02 Сейчас в теме
Можно сбросить их пароли.
6. soft_wind 19.09.22 15:29 Сейчас в теме

присоединяюсь к (4) сами как раз пользуемся таким методом, очень удобно,
нажал на кнопку/иконку ВходПодПользователем, набрал/ввел ИмяПользователя и вошел
правда в этом методе, у тебя должны быть Административные права, но это и логично.

8. skela 2 20.09.22 07:38 Сейчас в теме
ВходПодПользователем
можно по подробнее
9. kras01 20.09.22 10:08 Сейчас в теме
(8) В ИР портативные есть такой инструмент, посмотрите на скрине
Прикрепленные файлы:
12. tormozit 7095 05.04.23 21:33 Сейчас в теме
(9) Точнее УИР
13. пользователь 05.04.23 23:09
Сообщение было скрыто модератором.
14. tormozit 7095 06.04.23 11:36 Сейчас в теме
(9) Хотя и в ИР тоже есть, но на твоей картинке УИР.
10. soft_wind 20.09.22 10:14 Сейчас в теме

(8) где-то в инете нашел такой код, адаптировал под свою форму Консоли Запросов (для программиста самая главная обработка, туда и добавляю интересный функционал)

НаКлиенте, после получиния ИмениПользователя (его логин)

Если ПустаяСтрока(ПользовательПод) Тогда Возврат; КонецЕсли; ДанныеПользователя = НайтиПользователяНаСервере(ПользовательПод); Если ЗначениеЗаполнено(ДанныеПользователя) Тогда ПараметрыКоманднойСтроки = "/N" + Символ(34) + ДанныеПользователя.Имя + Символ(34) + " /P" + ДанныеПользователя.НовыйПароль; ЗапуститьСистему(ПараметрыКоманднойСтроки, Ложь); ПодключитьОбработчикОжидания("ВосстановитьПользователя", 10, Истина); Иначе ПоказатьПредупреждение(,"Не найден Пользователь: " + ПользовательПод, 20); КонецЕсли;

функция получения пользователя и сброса его старого пароля (с запоминанием)

&НаСервереБезКонтекста Функция НайтиПользователяНаСервере(ИмяПользователя) ПользовательИБ = ПользователиИнформационнойБазы.НайтиПоИмени(ИмяПользователя); Если ПользовательИБ = Неопределено Тогда Возврат Неопределено; КонецЕсли; лкДанные = Новый Структура; лкДанные.Вставить("СохраняемоеЗначениеПароля",""); лкДанные.Вставить("Имя",ПользовательИБ.Имя); лкДанные.Вставить("АутентификацияСтандартная",ПользовательИБ.АутентификацияСтандартная); ПользовательИБ.АутентификацияСтандартная = Истина; лкДанные.Вставить("СохраняемоеЗначениеПароля",ПользовательИБ.СохраняемоеЗначениеПароля); лкДанные.Вставить("НовыйПароль","Запуск1С"); ПользовательИБ.Пароль = "Запуск1С"; ПользовательИБ.Записать(); Возврат лкДанные; КонецФункции

и функция восстановления старого пароля пользователя

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

отлажено под работу в локальной сети, что-то переделано, что-то упрощено, попробуйте может подойдет и вам «как есть»

Как получить пароль пользователя 1с программно

8(495)005-62-29

skype: live:di-sem

@programmist_1C

Отправить заявку

Как узнать пароль пользователя 1с, зная пароль администратора. Взлом пароля пользователя 1с.

узнать пароль пользователя 1с

Звонит постоянный клиент. А посмотрите пожалуйста под пользователем Ивановым И.И. выходит ошибка когда он тыкает туда и туда. Он очень ждет, ждем ответа.

Подключаюсь к клиенту, запускаю отладку под Ивановым и понимаю что пароль не знаю. Хорошо если не ночь и можно быстро его узнать, а если это ночью.. или клиент сам не знает пароль Иванова. Ну случаи разные бывают.

Чтобы узнать пароль пользователя, зная пароль администратора воспользуемся такой обработкой:

Работать с ней просто:
Запускаем под администратором.
В левом списке отображаются пользователи, выбираем нужного.

Способ 1. Жмем «Подбор пароля с помощью ХЭШ калькулятора. В маске для ускорения работы можно указать из каких символов состоит пароль (цифры, буквы, буквы и цифры и т.д.).
Получаем пароль:

Способ 2. Копируем ХЭШ пароля

Скачать обработку «Узнать пароль пользователя, зная пароль администратора»

Обработку нашел в интернете. Версия для обычных форм, возможно позже переделаю для управляемых.

  • Главная
  • Блог
  • Обработки 1С
  • Как узнать пароль пользователя 1с, зная пароль администратора. Взлом пароля пользователя 1с.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *