Odin | База знаний 1С

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


Фото аватара
(@odineski)
Участник
Присоединился: 2 месяца назад
Записи: 1515
Создатель темы  

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



   
Цитата
(@odin)
Участник
Присоединился: 2 месяца назад
Записи: 1470
 

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 (максимально подробный, с примерами и ссылками).



   
ОтветитьЦитата