Как сделать окно авторизации в 1с

Обновлено: 05.07.2024

Требуется создать форму авторизации. При нажатии на кнопку вход будет проверяться, есть ли в справочнике "Пользователи" введённые логин и пароль и, если есть, то РежимОткрытияОкна поменять с "Блокировать весь интерфейс" на "Независимый" и закрыть саму форму, если нет - завершить всю систему. Начал что-то писать, но сомневаюсь в правильности. Есть тут те, кто поможет чайнику?

__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь

Управляемая форма. Не работает форма списка документа
Здравствуйте! Создал форму списка документа, сделал ее основной формой списка. В конфигураторе все.

Форма Авторизации 1С
Как сделать форму авторизации? Что бы просто был логин и пароль (Данные должны браться из.

Запуск 1с через bat- файл, как в случае неправильной авторизации закрыть окно авторизации через bat- файл
Делаю запуск 1с через bat- файл. Как в случае неправильного имени или пароля пользователя окно.

Ошибка инициализации модуля: Документ.Заказ.Форма.ФормаДокумента.Форма
Добрый вечер! Помогите мне пожалуйста! В программе 1С Предприятие 8.3 я создал регистр сведений.

форма авторизации (как предоставить полномочия после прохождения авторизации)
Здравствуйте. Задача следующая. Необходимо сделать клиентское приложение для БД. При запуске.

Форма авторизации - вне зависимости от выбранного пользака, открывается одна и та же форма
Форма авторизации - вне зависимости от выбранного пользака, открывается одна и та же форма Есть.

Форма авторизации и форма Регистрации(Личный кабинет)
Здравствуйте! Подскажите мне пожалуйста, как мне сделать личный кабинет после авторизации, чтобы я.

Не работает форма обратной связи и форма авторизации
Не работает форма обратной связи и форма авторизации. Когда регистрируешься и нажимаешь на кнопку.

Регистрационная форма и форма авторизации
Здравствуйте! Есть готовые файлы, которые работают как регистрационная форма на отдельном.

Форма авторизации
Помогите настроить форму авторизации. Сам код проверки нажатия на кнопку, вписываешь пароль и если.

Преимущества использования провайдера аутентификации, такого как например 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.

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

Настройка Keycloack


  1. Тип доступа public
  2. Активность Implict Flow
  3. Адрес возврата до win сервера
  4. Адрес возврата до nix сервера
  5. Разрешение CORS между точками доступа

В realm "onec_openid" добавляю пользователя (users) "user", добавляю email "user@malikov.lan" и пароль через вкладку "credentials".

Настройка на стороне 1С

Использую пустую конфигурацию, в ней добавляю Роль "ПолныеПрава". В каждую из баз добавляю пользователя с именем "user@malikov.lan" с правами ПолныеПрава

Конфиг на локальном сервере

Вместо "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 они короткоживущие.

Благодарю за внимание.

Специальные предложения

Electronic Software Distribution

Интеграция 1С с системой Меркурий

Алкогольная декларация

Готовые переносы данных

54-ФЗ

Управление проектом на Инфостарте

Траектория обучения 1С-разработчика

Просмотры 646

Загрузки 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 15280 Tavalik 72

Профили управления доступом к объектам в любой конфигурации на БСП

В данной статье рассмотрим механизмы стандартного управления профилями доступа к объектам в любой типовой конфигурации, в основе которой лежит БСП.

17.11.2021 1592 quazare 3

Запрет изменения документа для всех пользователей, кроме автора

Вариант решения вопроса, как закрыть возможность изменить документ для всех пользователей, кроме автора. Подходит для конфигураций, снятых с поддержки, придется внести изменения в конфигурацию. Решение разрабатывалось для УТ 10.3, обычные формы.

12.11.2021 553 shar74 5

Особенности (ограничения) производительного RLS

В своей деятельности при работе с производительным RLS мы сталкиваемся с рядом особенностей (ограничений) данного RLS. В своей статье Ретунский Александр, ведущий программист компании АО «Корпоративные ИТ-проекты» (официальный партнер ИнфоСофт), поделится информацией, полученной опытным путем на ряде задач по производительному RLS.

05.11.2021 774 Alexsandr_Retunskiy 3

Права доступа в 1С:Документооборот 2.1 Промо

В программе 1С:Документооборот ред 2.1 механизм системы прав доступа сильно изменился. С одной стороны, права доступа в данной версии стали проще и быстрее, с другой стороны - права по рабочим группам объектов теперь могут противоречить политикам доступа. Разберемся в данной статье как работает механизм прав доступа в 1с документообороте 2.1.

16.09.2016 88455 vlush78 0

Публикация веб-сервисов 1С 8.3 вручную в Linux

Актуальный пример настройки публикации веб-сервисов под Linux

02.11.2021 391 tubusx 1

Внешняя компонента как REST-API-компонента.

. и совсем немного кода на С[++].

01.11.2021 1089 starik-2005 10

22.10.2021 590 malikov_pro 0

Доработки RLS. Примеры шаблонов. (в т.ч исключения из ограничений) Промо

Допиливаем шаблоны RLS. Даем доступ пользователям к некоторым объектам

19.06.2013 70689 EvilDoc 38

Обновление платформы 1С тонкого клиента с вебсервера, когда сервер 1С ПРОФ

19.10.2021 1434 ser6702 13

Как доработать производительный RLS

Неоднократно в последнее время поступали задачи, когда требовалось доработать новый производительный RLS. В своей статье Ретунский Александр, программист компании АО «Корпоративные ИТ-проекты» (официальный партнер ИнфоСофт) опишет последовательность действий при доработке нового RLS, ключевые моменты и сложности, с которыми столкнулся. В Интернете статей или инструкций, которые подробно и просто описывают – как доработать производительный RLS, не так много и автор делиться своим опытом. В данной статье не будут описаны различия и плюсы/минусы между стандартным и производительным RLS, в Интернете по этому вопросу есть много информации.

18.10.2021 2453 Alexsandr_Retunskiy 4

1С, Linux, облака…

05.10.2021 1022 ArtfulCrom 2

Перекуем Cloud на Oracle. Тестируем размещение 1С в облачной платформе Oracle Cloud.

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

02.09.2021 674 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 2401 user1387741 13

Как добыть последнюю версию SQL Server 2012 Native Client

Краткое руководство администраторам 1С по получению свежей версии SQL Server 2012 Native Client, необходимого для работы сервера 1С.

13.05.2021 2111 tedkuban 3

Настройка сборки данных в Performance Monitor Windows Server. Рецепты от Капитана

Каждый опытный сисадмин знает, что лучший показатель ухудшения быстродействия 1С, это главный бухгалтер, движущийся в сторону ИТ отдела со скоростью, превышающей 1.1 м/с. Но только мудрейшие из них настраивают сбор счетчиков, чтобы эта встреча не застала их врасплох. Об этом и поговорим под катом.

07.05.2021 3543 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 848 ksnik 0

16.03.2021 3705 ardn 10

Установка платформы 1С 8.3.20.1363 и более старших версий на RHEL8 и любые другие rpm-based linux. Решение проблемы установки меньших версий 1С8.3 (webkitgtk3) на RHEL 8 / CentOS 8 / Fedora Linux

08.03.2021 3691 ksnik 47

CRM в облаках

29.01.2021 1351 Plotks2017 1

Как убрать/заблокировать давно удаленных пользователей из Системы взаимодействия

Данная статья будет служить как вспомогательная человеку, столкнувшемуся на своем пути с Системой взаимодействия, и особо особенному человеку, у кого конфигурация 1С:Предприятие 8. Автосервис (1.6.16.153).

22.01.2021 929 user1135816 0

Восстановление пароля в 1С 8.3

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

По хорошему при серьезном подходе к автоматизации нужно запрещать неавторизованный вход в программу.
Исключение могут составлять крайне редкие случаи, например, демо-версия конфигурации или конфигурация публичного пользования.

Но как правило, наряду с заведением пользователей в конфигураторе имеет смысл сделать в конфигурации справочник "Пользователи", в котором хранить пользователей, соответствующих пользователям в конфигураторе.
Это дает возможность некоторых вещей, например привязки к пользователю некоторых прав, которыми нельзя управлять с помощью метаданного "Роль", построение системы ограничения прав RLS, привязанной к текущему пользователю, сохранение в справочниках и документах информации об авторах объектов, индивидуальные особенности интерфейса, настроек отчетов, событий и т. д.

Итак. Для выполнения этой задачи в конфигурации требуется сделать нижеперечисленные настройки.

Добавляем в конфигурацию план обмена "РаспределенныеБазы".

Добавляем в конфигурацию иерархический справочник "Пользователи", подчиненный плану обмена "РаспределенныеБазы".

Добавляем в конфигурацию параметр сеанса "ТекущийПользователь" типа "СправочникСсылка.Пользователи".

Добавляем в конфигурацию параметр сеанса "ТекущийУзелРаспределеннойБазы" типа "ПланОбменаСсылка.РаспределенныеБазы".

Добавляем в конфигурацию константу "ЗапретитьЗапускПрограммыНовымПользователям" типа "Булево".

В модуль приложения в процедуру ПередНачаломРаботыСистемы() вставляем код

В модуль внешнего соединения в процедуру ПриНачалеРаботыСистемы() вставляем код

В модуль сеанса, в котором фирма "1С" рекомендует устанавливать параметры сеанса, в процедуру УстановкаПараметровСеанса() вставляем код

Туда же (в модуль сеанса) вставляем процедуру глУстановитьПараметрСеансаТекущийПользователь() и функцию глЕстьДействующиеПользователи()

Собственно все. Теперь программа не запустится, если список пользователей в конфигураторе пустой.

И напоследок немного по логике работы.

Параметр сеанса "ТекущийПользователь" вместо комбинации двух одноименных экспортных переменных "глТекущийПользователь" в модуле приложения и модуле внешнего соединения выбран потому, что к нему можно привяхать RLS, а к глобальной переменной нет.

Константа "ЗапретитьЗапускПрограммыНовымПользователям" создана для того, чтобы при необходимости запретить автоматически программно создавать новых пользователей в справочнике "Пользователи". Может пригодиться в принципе кому-нибудь.

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

Читайте также: