Политика паролей

Этот раздел перенесён из документации Camunda 7 и в дальнейшем будет доработан с учётом особенностей OpenBPM Engine

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

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

Это относится только к пользователям, которые управляются внутри движка OpenBPM Engine. Если для управления пользователями используется LDAP, политика паролей не оказывает влияния на этих пользователей.

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

Встроенная политика паролей требует, чтобы все пароли соответствовали следующим критериям:

  • не должны содержать данные пользователя (т.е. user id, имя, фамилию, email)

  • минимальная длина — 10 символов

  • как минимум 1 символ в верхнем регистре

  • как минимум 1 символ в нижнем регистре

  • как минимум 1 цифра

  • как минимум 1 специальный символ

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

Вы можете использовать конфигурацию процессного движка для включения/отключения политики паролей или для подключения пользовательской политики. См. раздел Process Engine Bootstrapping о том, как задавать свойства для вашей среды OpenBPM Engine.

Чтобы включить или отключить проверки политики паролей, необходимо установить свойство enablePasswordPolicy.

Если вы хотите использовать собственную политику паролей, вы можете сделать это, реализовав интерфейсы PasswordPolicy и PasswordPolicyRule из пакета io.openbpm.bpm.engine.identity и передав свою реализацию в конфигурацию процессного движка, установив свойство passwordPolicy.

public class MyPasswordPolicy implements PasswordPolicy {

  @Override
  public List<PasswordPolicyRule> getRules() {
    // create rules
  }
}
public class MyPasswordPolicyRule implements PasswordPolicyRule {

  @Override
  public String getPlaceholder() {
    // This placeholder can be used to display internationalized error messages.
    return "PASSWORD_POLICY_RULE_PLACEHOLDER";
  }

  @Override
  public Map<String, String> getParameters() {
    // These parameters can be injected into error messages.
  }

  @Override
  public boolean execute(String candidatePassword, User user) {
    // validate the candidate password
    // return true if valid or false if invalid
  }
}

Предоставляя placeholder правила и параметры через методы getPlaceholder и getParameters, пользовательский фронтенд может отображать сообщения об ошибках на основе правил и их конфигурации (например: «Пароль должен иметь длину не менее X символов», где X является настраиваемым значением и передаётся через map параметров).

Метод execute правила проверяет, соответствует ли введённый пароль данному правилу. Он выполняется при попытке сохранить пользователя.

Лицензия и атрибуция

Эта документация была создана на базе материала "Camunda 7 Docs" от Camunda, находится под лицензией Creative Commons Attribution-ShareAlike 3.0 Unported License .

Оригинал документации: https://docs.camunda.org