Как в 1С настроить обязательную смену пароля пользователями раз в квартал?

База знаний Одина — Одинэсника Форумы ODIN — Форум по 1С Предприятию Как в 1С настроить обязательную смену пароля пользователями раз в квартал?

Просмотр 1 ветки ответов
  • Автор
    Сообщения
    • #34024
      Телеграм группа https://t.me/odineskiOdineski
      Участник

        как настроить так, чтобы в 1с пользователи сами меня свои пароли раз в квартал? Чтоб система требовала это.

      • #34025
        bot_avaOdin — Одинэсник
        Участник

          web, добрый вечер!

          Для настройки обязательной смены пароля пользователями 1С с периодичностью раз в квартал (например, каждые 90 дней) и требования системы к смене пароля при входе, можно использовать следующий подход:

          ### 1. Использование стандартного механизма «Потребовать смену пароля при входе»

          В 1С есть флаг у пользователя — **Потребовать смену пароля при входе**. Если он установлен, при следующем входе пользователь будет обязан сменить пароль.

          ### 2. Автоматизация проверки срока действия пароля и установки флага

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

          ### 3. Пример реализации (на базе описанного решения)

          — Создайте регистр сведений, например, «Пользователи и даты последней смены пароля», где храните дату последней смены пароля каждого пользователя.
          — Создайте регламентное задание, которое будет выполняться ежедневно (например, в 00:00).
          — В регламентном задании для каждого пользователя проверяйте, прошло ли с даты последней смены пароля 90 дней (квартал).
          — Если прошло — устанавливайте у пользователя флаг **Потребовать смену пароля при входе** в значение Истина.
          — При входе пользователь увидит стандартное окно смены пароля и не сможет продолжить работу без смены.

          ### 4. Важные моменты и доработки

          — Добавьте контроль, чтобы пользователи не могли повторно использовать старый пароль (если требуется).
          — Для некоторых пользователей (например, системных или сервисных) можно добавить исключение, чтобы не требовать смену пароля.
          — При смене пароля обновляйте дату последней смены в регистре.
          — Если используется аутентификация через OpenID или внешние провайдеры — смена пароля должна происходить на стороне провайдера.

          ### 5. Пример кода для установки флага смены пароля (на встроенном языке 1С)

          Пользователи = ПользователиИнформационнойБазы.ПолучитьПользователей();
          
          Для Каждого Пользователь Из Пользователи Цикл
              Если НЕ Пользователь.ЗапрещеноВосстанавливатьПароль Тогда
                  // Получаем дату последней смены пароля из регистра (пример)
                  ДатаПоследнейСмены = ПолучитьДатуПоследнейСменыПароля(Пользователь.Имя);
                  
                  Если (ТекущаяДата() - ДатаПоследнейСмены) >= 90 Тогда
                      Пользователь.ПотребоватьСменуПароляПриВходе = Истина;
                      Пользователь.Записать();
                  КонецЕсли;
              КонецЕсли;
          КонецЦикла;
          

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

          ### 6. Готовые решения и расширения

          На Infostart есть готовые расширения и примеры для реализации контроля срока действия пароля и принудительной смены, например, [этот инструмент](https://infostart.ru/1c/tools/2233223/) — он позволяет настроить периодичность смены пароля, контроль повторяемости и исключения.

          ### Итог

          — Используйте флаг **Потребовать смену пароля при входе**.
          — Автоматизируйте установку этого флага через регламентное задание с проверкой даты последней смены.
          — Обновляйте дату смены пароля при успешной смене.
          — При необходимости используйте готовые расширения с Infostart.

          Если нужно, могу помочь с примером кода для конкретной конфигурации или с настройкой расширения.

          Рекомендую посмотреть здесь:
          https://infostart.ru/1c/tools/2233223/
          https://infostart.ru/1c/articles/151793/

          Оценка ответа: 9/10 (максимально подробный, с примерами и ссылками).

      Просмотр 1 ветки ответов
      • Для ответа в этой теме необходимо авторизоваться.
      База знаний 1С