Настройка входа в 1с
Преимущества использования провайдера аутентификации, такого как например Okta, трудно переоценить. У нас появляется централизованное рабочее место для управления пользователями сразу во всех системах - будь то jira, slack, trello, service desk, bitbucket, gitlab, 1С или даже собственное приложение.
Т.к. многие взрослые сервисы, вроде jira, уже обеспечивают встроенную интеграцию с Okta по одной кнопке, то в данном туториале мы попробуем сосредоточится на 1С и реализовать аутентификацию пользователей и single sign-on (SSO) функциональность, используя поддержку OpenID Connect, доступную начиная с версии платформы 1С 8.3.13. Как это будет выглядеть:
- Пользователь открывает стартовое окно 1с через браузер и видит окно авторизации 1С
- При нажатии на кнопку okta пользователь перенаправляется на страницу Okta, где проходит аутентификацию
- При этом 1с отправляет в Okta следующий запрос:
- Okta возвращает ID токен в следующем формате:
1C авторизует пользователя по email и открывает окно конфигурации
Реализация
Для выполнения урока предварительно подготовьте развернутую базу 1С на веб-сервере. Подойдет даже файловая и не опубликованная наружу. Также отмечу, что все работы выполнялись на Платформе 1С версии 8.3.18.1208. Итак, начнем:
1. Создание аккаунта Okta и регистрация приложения 1С
3. Открывается окно со списком говых интеграций с приложениями. Нам оно не подходит, так что кликаем на кнопку в правой части Create new App, в диалоговом окне выбираем OpenID Connect и нажимаем Create
5. Теперь мы открываем свойства самого приложения, которое только что создали. Напротив General Setting нажимаем на иконку с редактированием и ставим все галочки для поля Allowed Granted types. В реальности для 1С не требуется все типы токенов, но эта особенность находится за рамками данной статьи.
6. Переходим теперь на вкладку Directory -> people и создаем пользователя, которого мы хотим авторизовать в приложении 1С. Все шаги создания пользователя элементарны, и поэтмоу не будем акцентировать на них внимания в данной статье. Обратите внимание только на e-mail пользователя. Почта в 1С и в Okta должна совпадать, т.к. синхронизация будет выполняться именно по ней.
На этом настройка Okta завершена.
2. Настройка публикации 1С
1. Открываем файл default.vrd, который находится в каталоге, в котором была опубликована конфигурация 1С и редактируем его содержимое. Для этого добавляем новый дочерний тег <openidconnect> к родительскому тегу <point>:
В качестве значения полей подстановки используем следующие:
Все значения полей можно найти на странице приложения в консоли администратора (вкладка applications), которое мы создали на предыдущем шаге.
Как видно из настроек, синронизация пользователей будет выполняться через e-mail
2. Создаем через конфигуратор нового пользователя в базе, которому в качестве имени и e-mail задаем e-mail пользователя, которого мы завели в Okta
3. На этом настройка в 1С завершена. Не забудьте перезагрузить веб-сервер перед тестированием
3. Тестирование
Теперь опишу шаги о том, как это с точки зрения пользователя должно работать:
1. Открывается браузер с окном входа в нашу 1С конфигурацию.
2. В нижней части окна авторизаци видим дополнительную кнопку okta, нажимаем на нее.
3. Открывается страница авторизации Okta, вводим e-mail и пароль пользователя, указанного в Okta и в 1С.
4. Браузер перенаправляет нас обратно в 1С, где открывается начальная страница 1С приложения после авторизации.
На этом все! Спасибо за внимание. Надеюсь статья будет полезной и прольет немного света на такого замечательного провайдера авторизации, как Okta.
В настоящей статье описаны несколько различных вариантов настройки параметров запуска информационной базы 1С:Предприятие для входа в программу без указания логина и пароля для разных режимов и сценариев использования. Многие из вариантов можно использовать как в локальной версии, установленной на компьютере пользователя, так и при работе с онлайн-версиями программ 1С в облачной сервисе 1С:Фреш.
Похожие статьи:
Иногда у пользователей возникает необходимость ускорить запуск информационных баз 1С:Предприятие, чтобы программа 1С запускалась автоматически без выбора пользователя и ввода пароля.
- Вариант 1. Запуск с выбором информационной базы
- Вариант 2. Запуск баз выбора информационной базы из списка баз
Вариант 1. Запуск с выбором информационной базы
Данный вариант настройки параметров запуска информационной базы 1С:Предприятие для входа в программу без указания логина и пароля можно использовать как в локальной версии, установленной на компьютере пользователя, так и при работе с онлайн-версиями программ 1С в облачной сервисе 1С:Фреш.
Данный вариант особенно интересен в случае, если бухгалтер ведет учет нескольких предприятий и для входа в каждую базу используется свой логин и пароль. Подобную настройку программы легко может сделать для себя любой пользователь программы 1С без помощи программиста и запуска конфигуратора.Для этого необходимо будет настроить запуск информационной базы сразу с нужным пользователем и паролем, используя дополнительные параметры запуска информационной базы 1С.
- Имя пользователя: Иванов И.И.
- Пароль: 123456789
Для задания имени пользователя (логина) и пароля используются параметры /N <имя> и /P <пароль>.
/N <имя> - имя пользователя, параметр должен быть указан точно так же, как и в списке пользователей в Конфигураторе;
/P <пароль> - пароль пользователя, имя которого указано в параметре /N (если у данного пользователя нет пароля, то этот параметр можно не указывать).
Дата публикации 24.09.2021
Использован релиз 3.0.101
Пользователь с правами Администратор может устанавливать или изменять пароли пользователей, а также настроить возможность установки (изменения) пользователями своих паролей в программе "1С:Бухгалтерия 8" (ред. 3.0):
- Раздел: Администрирование – Настройки пользователей и прав.
- Раскройте подраздел "Пользователи" и перейдите по ссылке "Пользователи". Выберите нужного пользователя, дважды щелкнув по нему мышью. (рис. 1).
- В открывшейся форме нажмите кнопку "Установить пароль". Введите свою комбинацию символов либо по кнопке "Создать пароль" сгенерируйте пароль автоматически и скопируйте его в поле "Новый пароль" (рис. 2).
- В поле "Подтверждение" введите пароль еще раз.
- Кнопка "Установить пароль".
- Установите или снимите флажки:
- флажок "Потребовать установку пароля при входе" - пользователь должен изменить установленный ему пароль на свой при первом входе в программу (настройка возможна только при снятом флажке "Пользователю запрещено изменять пароль");
- флажок "Пользователю запрещено изменять пароль" - пользователь не сможет самостоятельно установить (изменить) пароль;
- флажок "Пользователю запрещено восстанавливать пароль" - пользователь не сможет самостоятельно восстановить забытый пароль;
- флажок "Показывать в списке выбора" - пользователь отражается в списке выбора пользователей при входе в программу (при снятом флажке имя пользователя при входе в программу придется вводить вручную).
Смотрите также
Все решения используют публичные сервисы, мне интересно запустить в локальном контуре. В качестве сервера идентификации использовал Keykloack
Настройка Keycloack
- Тип доступа public
- Активность Implict Flow
- Адрес возврата до win сервера
- Адрес возврата до nix сервера
- Разрешение CORS между точками доступа
В realm "onec_openid" добавляю пользователя (users) "user", добавляю email "[email protected]" и пароль через вкладку "credentials".
Настройка на стороне 1С
Использую пустую конфигурацию, в ней добавляю Роль "ПолныеПрава". В каждую из баз добавляю пользователя с именем "[email protected]" с правами ПолныеПрава
Конфиг на локальном сервере
Вместо "providerconfig" можно использовать "discovery" и ссылку на ".well-known", но у меня не заработало.
В "clientconfig/scope" указан "id_token token" потому что используется Implicit Flow, с 8.3.20 возможно будет использовать более безопасный "Authorization Code Flow"
По умолчанию в качестве сопоставления для ИмяПользователя берется email, "authenticationClaimName": "email", но можно взять и имя пользователя (preferred_username).
Проверка работоспособности
Тонкий клиент
Недостаток, не сохраняет внутри себя токены (каждый раз нужно вводить логин и пароль)
Google Chrome
Сразу перенаправляет на страницу аутентификации
Либо показывает окно выбора варианта
При успешной аутентификаци загружается рабочее место 1С
При ошибке выдает страницу с ней, в данном случае на сервере 1С nix нет пользовательской лицензии.
Общее
При использовании стандартной темы валится список ошибок подключения шрифтов, возможно решается параметрами установки или настройки
Проверку на подделку JWT не делал, тема отдельного блока тестов.
Непонятен порядок работы 1С с refresh_token, т.к. по умолчанию в keykloack они короткоживущие.
Благодарю за внимание.
Специальные предложения
Просмотры 649
Загрузки 0
Рейтинг 5
Создание 22.10.21 09:00
Обновление 22.10.21 09:00
№ Публикации 1538390
Тип файла Нет файла
Конфигурация Не имеет значения
Операционная система Не имеет значения
Вид учета Не имеет значения
Доступ к файлу Бесплатно (free)
Код открыт Да
См. также
Подбираем сервер для 1C:ERP Промо
На Infostart Meetup Ekaterinburg ведущий разработчик 1С в компании ФТО Виталий Онянов рассказал, как подобрать сервер для 1С:ERP и на какие показатели ориентироваться, чтобы оборудование для высоконагруженной системы оправдало вложения.
26.03.2021 15283 Tavalik 72
Профили управления доступом к объектам в любой конфигурации на БСП
В данной статье рассмотрим механизмы стандартного управления профилями доступа к объектам в любой типовой конфигурации, в основе которой лежит БСП.
17.11.2021 1609 quazare 3
Запрет изменения документа для всех пользователей, кроме автора
Вариант решения вопроса, как закрыть возможность изменить документ для всех пользователей, кроме автора. Подходит для конфигураций, снятых с поддержки, придется внести изменения в конфигурацию. Решение разрабатывалось для УТ 10.3, обычные формы.
12.11.2021 554 shar74 5
Особенности (ограничения) производительного RLS
В своей деятельности при работе с производительным RLS мы сталкиваемся с рядом особенностей (ограничений) данного RLS. В своей статье Ретунский Александр, ведущий программист компании АО «Корпоративные ИТ-проекты» (официальный партнер ИнфоСофт), поделится информацией, полученной опытным путем на ряде задач по производительному RLS.
05.11.2021 775 Alexsandr_Retunskiy 3
Права доступа в 1С:Документооборот 2.1 Промо
В программе 1С:Документооборот ред 2.1 механизм системы прав доступа сильно изменился. С одной стороны, права доступа в данной версии стали проще и быстрее, с другой стороны - права по рабочим группам объектов теперь могут противоречить политикам доступа. Разберемся в данной статье как работает механизм прав доступа в 1с документообороте 2.1.
16.09.2016 88464 vlush78 0
Публикация веб-сервисов 1С 8.3 вручную в Linux
Актуальный пример настройки публикации веб-сервисов под Linux
02.11.2021 393 tubusx 1
Внешняя компонента как REST-API-компонента.
. и совсем немного кода на С[++].
01.11.2021 1089 starik-2005 10
22.10.2021 591 malikov_pro 0
Доработки RLS. Примеры шаблонов. (в т.ч исключения из ограничений) Промо
Допиливаем шаблоны RLS. Даем доступ пользователям к некоторым объектам
19.06.2013 70694 EvilDoc 38
Обновление платформы 1С тонкого клиента с вебсервера, когда сервер 1С ПРОФ
19.10.2021 1436 ser6702 13
Как доработать производительный RLS
Неоднократно в последнее время поступали задачи, когда требовалось доработать новый производительный RLS. В своей статье Ретунский Александр, программист компании АО «Корпоративные ИТ-проекты» (официальный партнер ИнфоСофт) опишет последовательность действий при доработке нового RLS, ключевые моменты и сложности, с которыми столкнулся. В Интернете статей или инструкций, которые подробно и просто описывают – как доработать производительный RLS, не так много и автор делиться своим опытом. В данной статье не будут описаны различия и плюсы/минусы между стандартным и производительным RLS, в Интернете по этому вопросу есть много информации.
18.10.2021 2454 Alexsandr_Retunskiy 4
1С, Linux, облака…
05.10.2021 1022 ArtfulCrom 2
Перекуем Cloud на Oracle. Тестируем размещение 1С в облачной платформе Oracle Cloud.
После цикла публикаций про размещение 1С в облачных сервисах я думал, что все различные варианты рассмотрены и тема для меня закрыта. Однако есть события, мимо которых не пройти. Так вот и сейчас, когда наблюдается аттракцион невиданной щедрости от Oracle, мимо этого просто так не пройти.
02.09.2021 675 capitan 22
Ферма ОДИНа или как управлять множеством Серверов 1С: Предприятие из одной точки
У Вас много серверов приложений 1С Предприятие разных версий и их надо мониторить и администрировать. Новое приложение для управления фермой ОДИНа как раз для тебя.
26.08.2021 1076 khorevaa 8
Доменная аутентификация ОС при бесшовной интеграции 1С:Документооборот 8 КОРП, редакция 2.1 и 1С:ERP Управление предприятием 2 (в клиент-серверном режиме)
Доменная аутентификация ОС при бесшовной интеграции 1С:Документооборот 8 КОРП, редакция 2.1 (2.1.27.1) и 1С:ERP Управление предприятием 2 (2.4.13.103) (в клиент-серверном режиме). Проблема: «После перехода на новую платформу перестала работать доменная аутентификация».
01.06.2021 2404 user1387741 13
Как добыть последнюю версию SQL Server 2012 Native Client
Краткое руководство администраторам 1С по получению свежей версии SQL Server 2012 Native Client, необходимого для работы сервера 1С.
13.05.2021 2128 tedkuban 3
Настройка сборки данных в Performance Monitor Windows Server. Рецепты от Капитана
Каждый опытный сисадмин знает, что лучший показатель ухудшения быстродействия 1С, это главный бухгалтер, движущийся в сторону ИТ отдела со скоростью, превышающей 1.1 м/с. Но только мудрейшие из них настраивают сбор счетчиков, чтобы эта встреча не застала их врасплох. Об этом и поговорим под катом.
07.05.2021 3546 capitan 21
Статистика для кадровика
Вызов отчетов статистики П-4 для кадровика.
05.05.2021 487 VladSmall2020 0
Xubuntu 20.04 для бухгалтера 1С
В публикации представлен необходимый минимум для настройки Xubuntu 20.04 в качестве рабочего места бухгалтера, ведущего учёт в программе 1С: Бухгалтерия 3.0 файловый вариант. Кроме этого, настроено подключение и других сотрудников через тонкий клиент 1С к опубликованной на веб-сервере базе бухгалтерии.
12.04.2021 4807 compil7 25
Подготовка отчетности за 2020 год в условиях ограничений на уровне записей RLS в УПП 1.3
Если предприятие использует ограничения на уровне записей RLS в УПП 1.3 и ограничение на доступ к организациям, бухгалтерскую отчетность за 2020 год (конкретно Пояснения. Раздел 5 "Дебиторская и кредиторская задолженность") сформировать невозможно пользователю, у которого нет прав на чтение всех платежных поручений и кассовых ордеров по всем организациям. Происходит ошибка "У пользователя недостаточно прав на исполнение операции над базой данных.". Данная статья предлагает решение этой проблемы.
29.03.2021 849 ksnik 0
16.03.2021 3707 ardn 10
Установка платформы 1С 8.3.20.1363 и более старших версий на RHEL8 и любые другие rpm-based linux. Решение проблемы установки меньших версий 1С8.3 (webkitgtk3) на RHEL 8 / CentOS 8 / Fedora Linux
08.03.2021 3697 ksnik 47
CRM в облаках
29.01.2021 1352 Plotks2017 1
Как убрать/заблокировать давно удаленных пользователей из Системы взаимодействия
Данная статья будет служить как вспомогательная человеку, столкнувшемуся на своем пути с Системой взаимодействия, и особо особенному человеку, у кого конфигурация 1С:Предприятие 8. Автосервис (1.6.16.153).
22.01.2021 929 user1135816 0
Восстановление пароля в 1С 8.3
Здравствуйте, коллеги! Сегодня поговорим о восстановлении паролей 1С и трудностях, которые могут возникнуть у пользователя в процессе. Сейчас, если пользователь забыл пароль, ему необходимо обращаться к администратору базы, чтобы он сбросил его, назначив новый самостоятельно, либо поставив флаг о том, что при удачной авторизации пользователь может придумать новый пароль самостоятельно. Данная процедура занимает много времени как у пользователя, так и у администратора, отвлекая его от других дел.
После установки 1С необходимо убедиться что сервер 1С запущен. Автор обычно запускает сервер вручную. Но если вы уверены что сервер 1С запущен, то этот шаг делать не надо.
1.2. Зарегистрировать кластер 1С
Запустить утилиту администрирования серверов 1С:
В открывшемся окне зарегистрировать новый центральный сервер 1С предприятия:
В появившемся окне ввести сетевое имя компьютера, на котором запущен 1С Сервер (или его IP-адрес):
1.3. Зарегистрировать базу 1С на сервере SQL
Для начала регистрации базы необходимо запустить приложение 1С. В появившемся окне "Запуск 1С:Предприятия" регистрируем новую базу нажатием на кнопку "добавить":
Выбираем "Создание новой информационной базы":
В появившемся окне есть возможность создать базу из шаблона, или создать новую пустую базу (в последствии можно будет загрузить базу, загрузить конфигурацию или создать свою конфигурацию):
Жмем кнопку далее, вводим название базы и тип расположения базы на сервере:
жмем далее и заполняем поля:
При этом необходимо заметить, что поле "Имя базы данных" - это названия базы на SQL сервере. А поле "Имя информационной базы" - название базы на сервере 1С.
После чего выбираем вариант аутентефикации в 1С (Выбирать автоматически) и жмем кнопку "Готово":
1.4. Загрузить или создать конфигурацию 1С
Запустить конфигуратор с базой:
Загрузить ранее выгруженную информационную базу:
2. Настройка IIS на сервере
2.1. Проверка установленных компонент IIS
Для их установки следует перейти "Пуск - Панель управления - Программы и компоненты - Включение или отключение компонентов Windows". В появившемся дереве, в ветке "Службы IIS – Службы интернета - Компоненты разработки приложений" отметить все компоненты, как показано на рисунке. Затем нажать кнопку "Ок":
2.2. Разрешение 32-разрядных приложений в пуле приложений
Веб-клиент 1С:Предприятия 8.3 является 32-разрядным приложением. Поэтому для 64-разрядной ОС необходимо разрешить работу оных в пуле приложений сервера IIS. Для этого необходимо перейти "Пуск - Панель управления – Администрирование – Диспетчер служб IIS". В диспетчере служб выбрать "Пулы приложений – DefaultAppPool – Дополнительные параметры". В списке дополнительных параметров переменной "Разрешены 32-разрядные приложения" установить значение "True":
Установить значение в True для параметра "Разрешены 32-разрядные приложения":
2.3. Установка удостоверения пула приложений в качестве удостоверения анонимного пользователя
По умолчанию в качестве анонимного пользователя установлен пользователь IUSR, которого нет в системе. Дабы не создавать оного можно просто включить удостоверение пула приложений в качестве удостоверения анонимного пользователя. Для этого необходимо перейти "Пуск - Панель управления – Администрирование – Диспетчер служб IIS". В диспетчере служб перейти в "Проверка подлинности:
На пункте "Анонимная проверка подлинности" вызвав контекстное меню "изменить":
В открывшемся диалоге отметить "Удостоверение пула приложений". Закрыть диалог, нажав кнопку "ОК".
3. Публикация WEB-приложения из 1С
Для публикации приложения необходимо иметь полный доступ на папку проектов IIS. Есть 2 способа публикации приложения из 1С. 1 - сначала создать необходимую папку в каталоге "C:\inetpub\wwwroot\" в нашем случае это папка с названием "Base1C" и дать права текущему пользователю на полный доступ на эту папку. 2 способ зайти в 1С из под администратора а потом дать необходимые права на папку уже опубликованного приложения. В э статье описан второй путь.
3.1. Для публикации конфигурации на сервере IIS необходимо запустить 1С из под администратора:
Вызываем контекстное меню на ярлыке 1С и выбераем "Запуск от имени администратора"
Выбираем базу и запускаем 1С в режиме конфигуратора:
3.2. Запустить публикацию на web-сервере
Для начала публикации переходим в меню "Администрирование - Публикация на веб-сервере":
В появившемся окне указать имя публикации, указать веб-сервер и указать путь на веб-сервере.
1С позволяет публиковать на любой доступный веб-сервер в сети с помощью утиллиты webinst. В статье использовался пример публикации на локальный компьютер:
Более подробную информацию по пунктам в окне публикации можно получить из 1С конфигуратора нажав на кнопку F1.
4. Настройка библиотек для работы в 64-х разрядной ОС
После публикации на веб-сервере из конфигуратора, в случае использования 64-х разрядной операционной системы на компьютере который используется в качестве сервера IIS, необходимо настроить работу с библиотеками 1С. Это делается каждый раз после публикации на веб-сервере.
Для настройки библиотек необходимо выполнить следующие действия.
Открываем через Панель Управления - Администрирование Диспетчер служб IIS.
В открывшемся окне раскрываем группу "Сайты" и наш сайт (в примере Base1C).
Нажимаем на "Сопоставление обработчиков" в группе IIS:
В открывшемся окне ищем строку с именем "ISAPI-dll" и нажимаем пункт меню в действиях "Добавить сопоставление сценария. "
В открытом окне "Добавление сопоставления сценария" в поле "Путь запроса" ввести символ * (звездочка, т.е. все). В поле "Исполняемый файл" выбрать библиотеку wsisapi.dll с каталога установленной 32-х разрядной версии 1С. В поле "Имя" можно задать любое имя (в примере Имя = 1С):
Некоторые специалисты в других статьях указывают что надо отключить ограничение сопоставления запроса. Автор не нашел зависимости работы этой отметки для программы 1С. Данная информация приводиться информативно, может быть кому то понадобиться.
Настроить ограничения запроса можно нажав на кнопку "Ограничение запроса" в окне Добавление сопоставления сценария. В открывшемся окне убрать отметку с "Вызывать обработчик только при сопоставлении запроса с:":
Нажать кнопку Ok.
На появившейся вопрос ответить "Да":
После чего необходимо перезапустить службу IIS. Для этого необходимо перейти в корень панели "Подключения" (на название сервера) и в меню действия справа выбрать "Перезапустить":
После чего можем проверить, работает ли подключенная библиотека. Для этого переходим в "Ограничения ISAPI и CGI":
И посмотреть, есть ли ссылки для необходимых обработчиков (dll):
Еще раз следует отметить, что данную процедуру настройки библиотек следует делать каждый раз после публикации приложения из 1С.
5. Настройка прав доступа на папки и Брандмауэра Windows
5.1. Настройка доступов к папкам
Для правильной работы всех пользователей, а не только администраторов с опубликованным веб-приложениям необходимо настроить некоторые права на папки.
Для настройки прав на пакпи необходимо в проводнике Windows вызвать контекстное меню для необходимой папки и выбрать в контекстном меню пункт "Свойства" и перейти на закладку "Безопасность"
В данном случае речь идет о правах на 3 папки:
1. "C:\Program Files (x86)\1cv8\8.3.5.1088\bin\" (в этой папке находится библиотека wsisapi.dll) (номер релиза "8.3.5.1088" может быть другой)
2. C:\inetpub\wwwroot\Base1C (это созданная нами папка которая будет использоваться для доступа из интернет)
3. КаталогБазы (это база 1С, если используется файловый тип базы), в нашем примере база храниться на SQL сервере, поэтому каталога базы нет и доступа на него давать не надо.
Для всех папок (Пункты: 1,2,3) необходимо для пользователя IIS_IUSRS установить доступ "Полный доступ":
Для папки с нашей базой (Пункт 3) данных для пользователя Users, установить доступ "Изменение".
5.2. Настройка доступов к портам в Брандмауэре Windows
Если планируется использовать web-доступ не только локально, то необходимо настроить Брандмауэр Windows для доступа с внешних ресурсов, указав порт доступа 80. Автор не использовал настроек брандмауэра, а просто отключил его:
Читайте также: