Бесшовная доменная аутентификация ОС при интеграции 1С:ERP и 1С:Документооборот

18.12.22

Администрирование - Информационная безопасность

Доменная аутентификация ОС при бесшовной интеграции 1С:Документооборот 8 КОРП, редакция 2.1 (2.1.29.18) и 1С:ERP Управление холдингом (3.1.7.4) (в клиент-серверном режиме).

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Бесшовная доменная аутентификация ОС при интеграции 1С:ERP и 1С:Документооборот:
.zip 156,27Kb ver:1.0.0.0
13
13 Скачать (1 SM) Купить за 1 850 руб.

После настройки, описанной в //infostart.ru/1c/articles/1451386/ кроме последнего пункта 4) Первый вход после перезапуска должен быть выполнен под системной учетной записью 1С.

Это всего лишь проверка, что доступ настроен правильно.

И проверить настройки доступа на опубликованной базе 1С:ДО 

 

 

Так как 1С:ERP агент сервера 1с запущен у меня под доменной учеткой 1cservise, значит, и авторизацию на 1С:ДО должен проходить как доменный пользователь \\мойдомен\1cservise с правами Администратора. Так как это пользователь для обмена, на нем нет и задач на согласование, и прочих сообщений.  Проверить интеграцию можно, создав-таки задачи, указав в качестве исполнителя пользователя 1cservise в 1С:ДО. 

Еще по желанию сделали настройку начальной страницы в 1С:ERP.

 

 

Это все работает из коробки. Хотя подскажите, почему пользователя не передают из коробки? Изменим эту ситуацию.

Далее в конфигураторе ЕРП добавляем в 

 

Содержание бит_п_СерверПовтИсп.ПолучитьИмяПользователя(

Функция ПолучитьИмяПользователя(Пользователь) Экспорт
    
    Возврат ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Пользователь, "Наименование");
    
КонецФункции 

 

После этого 1С:ДО будет ругаться на неизвестный параметр "byUserName".

В конфигураторе 1С:ДО изменить процедуру ОбработкаЗапросовXDTOБизнесПроцессыИЗадачи.ПолучитьСписокЗадач(....

 

 

Содержание процедуры СерверПовтИсп.ПолучитьПользователяПоРеквизиту(Условие_byUserName.value)

Функция ПолучитьПользователяПоРеквизиту(Значение, ИмяРек = "Наименование") Экспорт 

    ЗапросТекст = 
        "ВЫБРАТЬ ПЕРВЫЕ 1
        |    Пользователи.Ссылка КАК Ссылка
        |ИЗ
        |    Справочник.Пользователи КАК Пользователи
        |ГДЕ
        |    Пользователи.Наименование = &Значение
        |    И НЕ Пользователи.ПометкаУдаления";
    
    ЗапросТекст = СтрЗаменить(ЗапросТекст, "Наименование", ИмяРек); 
    Запрос = Новый Запрос(ЗапросТекст);
    Запрос.УстановитьПараметр("Значение", Значение);
    
    РезультатЗапроса = Запрос.Выполнить();
    
    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
    
    Возврат ?(ВыборкаДетальныеЗаписи.Следующий(), ВыборкаДетальныеЗаписи.Ссылка, Неопределено);

КонецФункции

 

На этом финиш. Сохранить/обновить и пользоваться.

Для отладки в 1С:ДО в расширении закомментировал/удалил строку. 

 

 

! внимательней с этими тэгами #Вставка #КонецВставки #КонецУдаления любой пробел может вызвать отказ подключения расширения на платформе 1С:Предприятие 8.3 (8.3.20.1549).

Использованы 

  • Документооборот 8 КОРП, редакция 2.1 (2.1.29.18)   далее по тексту 1сДО
  • 1С:ERP. Управление холдингом (3.1.7.4)                    далее по тексту 1сЕРП

История/план внедрения на заводе.

исходные: пользователей 1700 работают 1.5 года согласуют 2-3 вида документов, синхронизации пользователей нет, заводят руками в обеих базах, авторизация по паролю.  

1) Удалил дубли ФизЛиц в обоих базах.  (стандартной Обработка.ПоискИУдалениеДублей)

2) Удалил дубли Пользователей.             (стандартной Обработка.ПоискИУдалениеДублей)

3) Заменил ГУИДЫ пользователей в 1сДО

  3.1 в 1сЕРП выгрузить ПользователиГУИДы.epf  скопировать текст

  3.1 в 1сДО вставить текст ПользователиГУИДы.epf  загрузить

 

 

получились дубли пользователей с равными ГУИД между базами и у них ноль документов в основном (оказалось, что есть уже равные ГУИДЫ видимо когда-то синхронизация работала).

Добавил кнопку "Всем Выбрать Основной элемент" ПоискИУдалениеДублей_УстановитьНовые.epf

 

 

Если элемент не действующий или помечен на удаление, он не будет основным, но если на нем ноль объектов то будет.

Убедиться можно, скопировав ссылку элемента пользователя и попытаться открыть ее в обоих базах. Если не открылась метим ее на удаление в 1сДО. 

Далее как обычно. Удалил дубли Пользователей.

4) Настроил синхронизацию. Необходимо только копировать пользователей из 1сЕРП в 1сДО в одну сторону.

Переписал правила для обеих баз. 1сДО ничего не отдает, а 1сЕРП только Пользователей, ФизЛиц, Подразделения.

 

 

ПравилаРегистрации ДО для ЕРП  ОтказВсео.xml                     для 1сДО

Правила регистрации ЕРП для ДО_ТолькоПользователи.xml     для 1сЕРП

! Для прямого доступа к 1сДо требуется руками заполнить пароль и логин. У нас тонким клиентом только админы пользуются.

 

 

Также запретил руками создавать пользователей в 1сДО 

&Перед("ПередЗаписью")
Процедура иаОС_ПередЗаписью(Отказ)
	//Справочники.Пользователи.НайтиПоНаименованию("Уведомления 1С").УникальныйИдентификатор() = Новый УникальныйИдентификатор("b3f1b75b-2ac7-11ed-aba5-00505688e13d")

	Если ОбменДанными.Загрузка Тогда
		Возврат;
	КонецЕсли;
	
	Если Ссылка.Пустая() И
		НЕ Пользователи.ТекущийПользователь().УникальныйИдентификатор() = Новый УникальныйИдентификатор("b3f1b75b-2ac7-11ed-aba5-00505688e13d")
		И НЕ ДополнительныеСвойства.Свойство("ОтключитьМеханизмБесовнойИнтерацииПоГУИДАМ") Тогда
		
		ОбщегоНазначения.СообщитьПользователю(СтрШаблон("Новых Пользователей разрешено создавать только в ERP! ТекПользователь= %1",Пользователи.ТекущийПользователь()),,,,Отказ);	  
	КонецЕсли;	 
	
КонецПроцедуры

"Уведомления 1С" пользователь под которой работает сервер/фоновые задачи. Только с его ГУИД можно создавать пользователей.

5) несколько кругов и тестов с синхронизаций и удаление новых дублей пользователей.

6) устанавливаю расширения

 

 

7) включил авторизацию ОС

 

 

8) пользователям необходимо перезапустить 1сЕРП и удалить логин с паролем.

 

 

Финиш.

Итого. Пользователей заводят в одном месте и у них одинаковый ГУИД, что позволяет избавится от запросов поиска по наименованию. Аутентификация ОС работает. 

Минус. Если у пользователя настроен прямой доступ в 1сДО. Указана Аутентификация операционной системы 

 

 

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

 

Новости от 01.12.2022

Обновили до 1С:ERP Управление холдингом (3.1.9.1)  изменились названия модулей добавил в архив новое расширение ИнтеграцияАвторизОС_БП (1СERP Управление холдингом (3.1.9.1)) в3.cfe.

Обнаружил, что РЛС не отрабатывает в бесшовной интеграции хотя ПараметрыСеанса.ТекущийПользователь установлен с ограниченными правам, а в тонком клиенте все ок. исправил..

Процедура ДобавитьУсловияИзРЛС(Запрос, ЗапросТекст)
	
	Попытка
		
		ТекущийПараметрСеанса = ПараметрыСеанса.ПараметрыСеансаСинхронизацииДанных.Получить();
		
		byUserAktivGUID = ТекущийПараметрСеанса.Получить("byUserAktivGUID");
		
		Если byUserAktivGUID = Неопределено Тогда 
			
			Возврат;
			
		КонецЕсли;
		
	Исключение
		
		Возврат;
		
	КонецПопытки;
	
	// РЛС должен взять параметры из ПараметрыСеанса.ТекущийПользователь, но не в моей платформе... 
	// поэтому добавляю условия из Роли. ЧтениеШаблоновПроцессов
	
	Запрос.УстановитьПараметр("ТекущийПользователь", byUserAktivGUID);
	
	мЗапросТекст = ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(СтрЗаменить(ЗапросТекст, "ПодходящиеНастройки", "ПодходящиеНастройкиИсх"));
	
	мЗапросТекст.Добавить("
	|
	|;
	|
	|////////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|             ТекущаяТаблица.Объект,
	|             ТекущаяТаблица.ПоОрганизации,
	|             ТекущаяТаблица.Шаблон,
	|             ТекущаяТаблица.Условие
	|ПОМЕСТИТЬ ПодходящиеНастройки
	|ИЗ
	|             ПодходящиеНастройкиИсх КАК ТекущаяТаблица");
	
	мЗапросТекст.Добавить(ПолучитьУсловияРЛС_ЧтениеШаблоновПроцессов());
	
	ЗапросТекст = СтрСоединить(мЗапросТекст,"");
	
КонецПроцедуры

 

См. также

Информационная безопасность Программист Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Предлагается внешняя обработка для просмотра данных в формате ASN1. Есть 2 режима: загрузка из бинарного формата и из BASE64. Реализована функция извлечения всех сертификатов, которые можно найти в ASN1-файле. В дополнении к этому продукту предлагается методическая помощь по вопросам, связанным с технической реализацией криптографии и шифрования в 1С.

2400 руб.

29.08.2016    30186    10    1    

11

Информационная безопасность Пароли Платформа 1С v8.3 Бесплатно (free)

Все еще храните пароли в базе? Тогда мы идем к вам! Безопасное и надежное хранение секретов. JWT авторизация. Удобный интерфейс. Демо конфигурация. Бесплатно.

30.05.2024    6844    kamisov    18    

61

Информационная безопасность Программист Платформа 1С v8.3 Бесплатно (free)

Рассмотрим в статье более подробную и последовательную настройку аутентификации в 1С с использованием распространенной технологии JWT, которая пришла в программу в платформе версии 8.3.21.1302.

27.02.2024    8612    PROSTO-1C    10    

39

Информационная безопасность Программист Платформа 1С v8.3 Абонемент ($m)

Интеграционные решения стали неотъемлемой частью нашей жизни. Правилом хорошего тона в современных приложениях является не давать интегратору доступ к чувствительным данным. Device flow позволяет аутентифицировать пользователя, не показывая приложению чувствительные данные (например: логин и пароль)<br> Рассмотрим Device flow аутентификацию, в приложении, на примере OpenID провайдера Yandex.

1 стартмани

27.10.2023    2606    platonov.e    1    

23

Информационная безопасность Системный администратор Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Продукты на основе решений 1С уверенной поступью захватывают рынок учётных систем в стране. Широкое распространение программ всегда порождает большой интерес к ним со стороны злоумышленников, а пользователь 1С это одна из дверей в защищённый информационный контур предприятия. Обработка позволяет быстро и комплексно оценить настройки безопасности конкретной базы и возможности пользователя этой базы на сервере. Также можно оценить некоторые аспекты сетевой безопасности предприятия со стороны сервера 1С.

5 стартмани

24.04.2023    6448    21    soulner    8    

33

Информационная безопасность Системный администратор Программист Платформа 1С v8.3 1С:ERP Управление предприятием 2 Абонемент ($m)

1С, начиная с версии платформы 8.3.21, добавили в систему возможность двойной аутентификации. Как это работает: в пользователе информационной базы появилось свойство «Аутентификация токеном доступа» (АутентификацияТокеномДоступа во встроенном языке), если установить этот признак и осуществить ряд манипуляций на встроенном языке, то появляется возможность при аутентификации отправлять HTTP запросы, которые и реализуют этот самый второй фактор. Данное расширение позволяет организовать двухфакторную аутентификацию с помощью электронной почты или мессенджера Telegram.

2 стартмани

08.12.2022    7588    53    Silenser    12    

24
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. sapervodichka 6931 16.09.22 19:45 Сейчас в теме
+1 заморачивался с ней в прошлом году, не решил, спасибо, нужная вещь
2. ardn 682 16.09.22 22:17 Сейчас в теме
Ок, список задач по пользователю получили. А выполнение задачи будет от того же служебного пользователя?
3. fvr2000 11 17.09.22 01:07 Сейчас в теме
А как выполнять задачи? А как запускать на согласование интегрированные документы? Ну и много чего есть в БИД, это везде допиливать предлагается?
4. oleg21592 20 19.09.22 12:15 Сейчас в теме
(3) обычно программисты одинаковый код выносят в отдельную процедуру. Поэтому необходимо конкретный пример, что не работает?
5. leonvlas 06.10.22 09:44 Сейчас в теме
У нас работает так.
Посылается запрос в документооборот на получение авторизации.
Получаем пользователя и пароль (в хеше) и авторизуем по этим данным.

Все пользователи синхронизированы между базами и прилетают автоматом из ЗУП при приеме.
6. makaron24 17.02.23 12:52 Сейчас в теме
(5) Могли бы рассказать подробнее как у Вас это реализовано...
Оставьте свое сообщение