Управление списком информационных баз (сайт на ASP.NET Core с реализацией http-сервиса WebCommonInfoBases)
Интеграция - Сайты и интернет-магазины
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
AdminPanel
Небольшой сайт с http-сервисом для управления списками баз для пользователей домена (доступна загрузка списка пользователей из каталога AD). Резализует интерфейс сервиса (WebCommonInfoBases), описанный на ИТС. При корректной настройке, пользователь 1С при запуске 1cestart.exe будет получать актуальный список баз. Сайт жестко завязан на службу каталогов, поэтому ручное создание пользователей недоступно. При получении списка баз используется проверка подлинности negotiate, соответственно для доменных пользователей не нужно вводить логин/пароль, для локальных пользователей потребуется вводить логин/пароль пользователя из службы каталогов, к которому привязан какой-либо список.
How to use:
IIS:
- Скачать архив с последней версией релиза по адресу https://github.com/akpaevj/AdminPanel/releases
- Создать папку, в которой будут располагаться файлы сайта (для примера назовем ее AdminPanel) и распаковать скачанный архив в эту папку.
- В панели управления IIS создать новый сайт (для примера назовем его wcib.enterprise.corp, так-же необходимо создать A-записи в DNS и выполнить привязку сайта)
- В физическом пути сайта указываем папку, созданную на шаге 2.
- В настройках проверки подлинности сайта включаем Анонимную проверку подлинности и Проверку подлинности Windows (здесь есть расхождения с инструкцией с ИТС, нет необходимости делать разные сайты и публикации для анонимных и аутентифицированных пользователей)
- В папке сайта находим файл appsettings.json и меняем значения параметров на свои:
- В параметре Default в секции ConnectionStrings указываем строку подключения к базе данных (в качестве базы данных выступает MSSQL). Встроенная проверка пользователя работать не будет при стандартных настройках сайта, меняем Integrated Security на параметры User ID и Password, указываем адрес сервера базы данных. Базу данных создавать вручную не нужно. Пользователь, указанный в настройках, должен иметь права на создание базы данных, она будет создана автоматически
- В параметре AdminGroup секции Security указываем группу домена в формате DOMAIN_NAME\GROUP_NAME, членам которой будет доступна административная панель сайта (эту группу нужно будет создать и включить туда пользователей-администраторов списков ИБ).
- В параметре UserGroup секции Security указываем группу домена в формате DOMAIN_NAME\GROUP_NAME, членам которой будет доступно получение списка баз из http-сервиса
Пример содержимого appsettings.json:
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
},
"AllowedHosts": "*",
"ConnectionStrings": {
"Default": "Data Source=localhost;Initial Catalog=AdminPanel;User ID=username;Password=12345;"
},
"Security": {
"AdminGroup": "CONTOSO\\Администраторы 1С",
"UserGroup": "CONTOSO\\Пользователи домена"
}
}
Для начала использования http-сервиса WebCommonInfoBases необходимо в файле 1cestart.cfg заполнить параметр InternetService, указав в значении адрес сайта, либо интерактивно добавить сайт в адреса списков общих информационных баз.
Лайфхак для дочитавших до конца. Как было написано выше, сайт реализует службу как http-сервис. На ИТС такой способ задекларирован, но никак не документирован (есть только пример реализации веб-сервиса). При работе через http вызываются одноимённые get методы, где входные и входные/выходные параметры передаются как параметры url (CheckInfoBases?ClientID=...&InfoBaseCheckCode=...), а выходные и входные/выходные параметры и их значения должны быть возвращены в json структуре с корневым элементом под названием root.
Пример ответа на get метод CheckInfoBases:
{
"root": {
"InfoBasesChanged": false,
"URL": ""
}
}
Вступайте в нашу телеграмм-группу Инфостарт