Reforçar as regras de validação de senha

  • Versão de lançamento: Washingtondc
  • Atualizado 1 de fev. de 2024
  • 2 min. de leitura
  • Você pode personalizar as regras de validação de força da senha para a tela Mudar senha substituindo a saída da instalação associada à validação de senha.

    Antes de Iniciar

    Função necessária: administrador

    Procedimento

    1. Navegar até Tudo > Definição do Sistema > Saídas de Instalação.
    2. Localize ValidatePassword (inativa por padrão) e ValidatePasswordStronger (ativa por padrão, começando com a versão Helsinki).
    3. O script ValidatePasswordStronger (abaixo) é um script de exemplo que substitui o script ValidatePassword usando expressões regulares para exigir que as senhas tenham um mínimo de 8 caracteres, contenham um dígito numérico e letras maiúsculas e minúsculas.
      gs.include("PrototypeServer");
        var ValidatePasswordStronger = Class.create();
        ValidatePasswordStronger.prototype = {
             process : function() {
                var user_password = request.getParameter("user_password");
                var min_len = 8;
                var rules = "Password must be at least " + min_len + 
                   " characters long and contain a digit, an uppercase letter, and a lowercase letter.";
                if (user_password.length() < min_len) {
                   gs.addErrorMessage("TOO SHORT: " + rules);
                   return false;
                }
                var digit_pattern = new RegExp("[0-9]", "g");
                if (!digit_pattern.test(user_password)) {
                   gs.addErrorMessage("DIGIT MISSING: " + rules);
                   return false;
                }
                var upper_pattern = new RegExp("[A-Z]", "g");
                if (!upper_pattern.test(user_password)) {
                   gs.addErrorMessage("UPPERCASE MISSING: " + rules);
                   return false;
                }
                var lower_pattern = new RegExp("[a-z]", "g");
                if (!lower_pattern.test(user_password)) {
                   gs.addErrorMessage("LOWERCASE MISSING: " + rules);
                   return false;
                }
                return true; // password is OK
             }
        }

      A variável de script criada por Class.create() deve ter o mesmo nome da saída da instalação - "ValidatePasswordStronger" neste exemplo. O script implementa a função process() que retorna verdadeiro, se a senha for aceitável, e falso se a senha precisar ser revisada. A função gs.addErrorMessage pode ser usada para retornar mensagens de erro na tela Mudar senha. Você pode testar essa Saída de instalação em sua instância verificando o sinalizador ativo e atualizando o registro. Certifique-se de limpar o cache depois de fazer isso para que a mudança seja reconhecida.

      Além disso, lembre-se de que a modificação desses scripts não mudará o comportamento padrão da ServiceNow: senhas em branco ainda são proibidas por padrão e os campos de senha e senha de verificação devem corresponder.

    Resultado

    Para testar, marque a caixa A senha precisa ser redefinida em um registro de usuário e faça login com esse usuário. A validação ocorrerá no ponto em que o usuário tentar definir a senha. A validação não se aplica quando um usuário administrador atualiza a senha no registro do usuário diretamente (o administrador pode colocar qualquer coisa no campo de senha).

    Nota:
    A tela Mudar senha se aplica somente a clientes que não usam Single Sign-on e não estão integrados ao LDAP local.