Установить сложность пароля 1с

Обновлено: 07.07.2024

Для того чтобы программно задать пароль пользователя в 1С, нужно сначала получить нужного пользователя информационной базы. Для этого используется метод НайтиПоИмени() менеджера пользователей информационной базы.

Установка нового пароля

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

После установки пароля свойство ПарольУстановлен пользователя информационной базы примет значение Истина. Пароль начнет работать после перезапуска системы.

Установка требований к сложности пароля в 1С

При включении этой функции пароль проверяется на соответствие следующим требованиям:

  • Длина не менее 7 символов;
  • Содержит не менее 3-х типов символов:
    • заглавные буквы;
    • строчные буквы;
    • цифры;
    • спец. символы.
    • Не совпадает с именем пользователя;
    • Не является последовательностью символов.

    Можно включить эту функцию программно:

    //Установим временному пользователю требуемый пароль
    ВременныйПользовательИБ . Пароль = Пароль ;

    //Попытаемся записать временного пользователя.
    //Если появится ошибка, значит пароль не соответствует требованиям
    ХорошийПароль = Истина ;

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

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

    Пароль из информационной базы мы можем получить только в хешированном виде через свойство СохраняемоеЗначениеПароля пользователя ИБ.

    //Сравним полученный хешированный пароль и хешем пароля в информационной базе
    Возврат ХешированныйНовыйПароль = ПользовательИБ . СохраняемоеЗначениеПароля ;


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

    Пароли пользователей

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

    В открывшемся окне нужно установить флаг Проверка сложности паролей пользователей, а также задать минимальную длину пароля:

    Проверка сложности паролей пользователей

    Минимальная длина пароля

    Минимальная длина пароля

    Так как пароль должен удовлетворять следующим требованиям:

    1. Длина не меньше параметра Минимальная длина паролей пользователя
    2. В пароле должны употребляться не менее 3-х символов из перечисленных ниже:
    • заглавные буквы
    • строчные буквы
    • цифры
    • спец. символы, например нижнее подчеркивание или тире
    1. Пароль не должен совпадать с именем пользователя
    2. Пароль не должен быть последовательностью символов

    Пример хорошего пароля: 123_Par

    Если включена проверка сложности паролей, то регистр имеет значение.

    Хранение пароля

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

    Алгоритм сохранения пароля следующий:

    1. Из строки с паролем получается хеш с помощью алгоритма SHA-1
    2. Полученный хеш кодируется с помощью алгоритма base64
    3. Первоначальная строка с паролем приводится к верхнему регистру и для нее тоже получается хеш с помощью алгоритма SHA-1
    4. Хеш, полученный на третьем шаге тоже кодируется с помощью алгоритма base64
    5. Строка, полученная на втором шаге объединяется со строкой, полученной на четвертом шаге, между ними ставится запятая. Данная строка сохраняется в базе данных.

    Для проверки можно программно получить сохраненное значение пароля из базы данных, вручную сформировать строку с паролем по вышеуказанному алгоритму и сравнить их:

    ТекПользователь = ПользователиИнформационнойБазы . ТекущийПользователь ( ) ; ПарольВБазе = ТекПользователь . СохраняемоеЗначениеПароля ; ДД 2 = ПолучитьДвоичныеДанныеИзСтроки ( ВРег ( Пароль ) ) ;

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

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

    Начиная с версии платформы 8.3.15.2107 добавлена возможность восстановления пароля.

    Для возможности восстановления пароля в свойствах пользователя должен быть указан адрес электронной почты, а также снят флаг Пользователю запрещено восстанавливать пароль:

    Пользователю запрещено восстанавливать пароль

    Дополнительные настройки аутентификации

    В открывшемся окне нужно установить флаги Отправка кода на адрес электронной почты и Использовать стандартный сервис отправки:

    Отправка кода на адрес электронной почты

    После выполнения данных настроек в окне ввода логина и пароля появится гиперссылка Забыли пароль:

    Забыли пароль

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

    Получить код

    На указанную почту придет письмо со следующим содержимым:

    Получить код

    Нужно ввести полученный код подтверждения, указать новый пароль и нажать на кнопку Установить новый пароль:

    Установить новый пароль

    Программа сообщит об успешной установке нового пароля:

    Установить новый пароль

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

    Параметры отправителя

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

    длина кода подтверждения

    Вместо отправки кода подтверждения на почту можно использовать переход по навигационной ссылке, например на страницу в интернете:

    переход по навигационной ссылке

    В этом случае при нажатии на гиперссылку Забыли пароль будет выполнен переход по этой ссылке.

    Отображать гиперссылку "Нужна помощь?"
    Нужна помощь

    По нажатию будет выполнен переход по указанной ссылке. Там можно разместить какую-нибудь инструкцию пользователя по восстановлению пароля.

    Если в настройках пользователя установлен флаг Пользователю запрещено восстанавливать пароль:



    Рассмотрена подсистема Пользователи из библиотеки стандартных подсистем (БСП) 3.1.3.

    Примеры приведены на конфигурации Управление торговлей 11.4.13.

    В пользовательском режиме

    Пользователи

    Список всех пользователей находится в разделе НСИ и администрирование -> Администрирование -> Настройки пользователей и прав -> Пользователи:


    При создании нового пользователя большинство полей совпадает с полями при создании пользователя в конфигураторе, подробно рассматривать их нет смысла. Рассмотрим только некоторые из них, например, можно снять флаг Показывать в списке выбора:


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


    Если установить флаг Потребовать установку пароля при входе:


    То при входе в программу пользователю будет предложено установить пароль:


    Это можно использовать при создании нового пользователя. Тогда пользователь сам, при первом входе, установит себе пароль.

    Настройки сложности пароля выполняются в разделе НСИ и администрирование -> Администрирование -> Настройки пользователей и прав -> Настройки входа:


    Можно установить флаг Недействителен, тогда пользователь не сможет войти в ИБ, однако ссылка на него сохранится. Удобно использовать при увольнении пользователя.

    Смена пароля

    Если позволяют права доступа, то пароль можно изменить прямо в карточке пользователя. Иначе в разделе Главное -> Сервис можно выбрать пункт меню Сменить пароль:


    Настройка прав доступа

    Настройка прав доступа входит в подсистему Управление доступом, поэтому здесь не рассматривается. Отмечу только, что для настройки прав доступа нужно перейти по ссылке Права доступа и включить пользователя в нужную группу доступа:


    Группы пользователей

    Если включено использование групп пользователей:


    То пользователей можно объединять в группы.


    В группе можно указать состав пользователей, а также настроить права доступа:


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

    Один пользователь может входить в несколько групп. Состав групп можно указать в карточке пользователя:


    Настройки пользователей


    Можно посмотреть все настройки пользователя: настройки форм, отчетов, избранное, настройки печати и т.п. По кнопке Очистить можно удалить все настройки (будет выполнен сброс на настройки по умолчанию).

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


    По кнопке Скопировать от можно выбрать пользователя у которого нужно скопировать настройки текущему пользователю. Можно скопировать как все настройки, так и только часть выбранных настроек:



    Пользователи информационной базы

    При добавлении нового элемента в справочнике Пользователи, автоматически создается пользователь информационной базы. Связь выполняется по реквизиту ИдентификаторПользователяИБ.

    Если в списке пользователей выбрать Еще -> Пользователи информационной базы, то будет открыт список пользователей ИБ:


    Здесь можно посмотреть сопоставление пользователя ИБ с пользователей из справочника Пользователи. Можно отменить сопоставление, сопоставить с другим пользователем. На практике это можно использовать когда пользователь создавался в конфигураторе. Такие пользователи выделяются в списке красным цветом (у них нет сопоставления с пользователем из справочника Пользователи). Чтобы сопоставить нужно нажать Сопоставить с новым и записать новый элемент справочника Пользователи.

    Если создать нового пользователя ИБ в конфигураторе, дать ему полные права и попробовать зайти в базу, то при входе будет выдана ошибка:


    Однако, если добавить роль Администратор системы, то при первом входе новый элемент в справочнике Пользователи будет создан автоматически.

    В конфигураторе

    Получение текущего пользователя, вернет ссылку на справочник Пользователи:


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

    Средствами платформы аутентификация выполняется через проверку пароля пользователя.

    Для включения аутентификации средствами платформы нужно в настройках пользователя установить флаг Аутентификация 1С:Предприятия:

    Аутентификация 1С:Предприятия

    Ниже можно указать пароль пользователя. Тогда для входа в программу нужно ввести логин и пароль:

    Аутентификация 1С:Предприятия

    Если у пользователя снят флаг Аутентификация 1С:Предприятия, то он не будет отображаться в списке выбора пользователей.

    Аутентификация операционной системы

    Аутентификация операционной системы работает только для Windows. Но если подключение выполняется через веб-сервер Apache, то аутентификация операционной системы не будет работать.

    В настройках пользователя нужно установить флаг Аутентификация операционной системы и выбрать одного из пользователей операционной системы:

    Аутентификация операционной системы

    При запуске платформа запросит имя пользователя у операционной системы, затем проверит есть ли в списке пользователей 1С пользователь, у которого указана аутентификация операционной системы и указан текущий пользователь ОС. Если такой пользователь 1С есть, то программа будет запущена под ним без запроса логина и пароля. Если нет такого пользователя, то будет выведен стандартный диалог ввода логина и пароля (если установлен флаг Аутентификация 1С:Предприятия).

    Аутентификация операционной системы

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

    OpenID-аутентификация

    OpenID-аутентификация позволяет использовать для аутентификации в 1С внешний OpenID-провайдер. OpenID-провайдером может быть как база на платформе 1С, так и внешняя система, которая реализует работу по протоколу OpenID Authentication 2.0 и расширение этого протокола, реализованное в платформе 1С.

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

    Алгоритм аутентификации через OpenID выглядит следующим образом:

    Сначала опубликуем на веб-сервере OpenID-провайдер. Это будет база 1С с пустой конфигурацией:

    OpenID-провайдер

    Чтобы данную базу можно было использовать как OpenID-провайдер нужно на закладке OpenID установить флаг Использовать в качестве OpenID-провайдера и указать Время жизни аутентификации в секундах. После истечения этого времени нужно будет снова ввести логин и пароль при входе в 1С.

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