Vous pouvez personnaliser les règles de validation du niveau de sécurité du mot de passe pour l’écran de changement du mot de passe en remplaçant la sortie d’installation associée à la validation du mot de passe.
Avant de commencer
Rôle requis : admin
Procédure
-
Accédez à la .
-
Localisez ValidatePassword (inactif par défaut) et ValidatePasswordStronger (actif par défaut, à partir de la Helsinki version).
-
Le script ValidatePasswordStronger (ci-dessous) est un exemple de script qui remplace le script ValidatePassword à l’aide d’expressions régulières pour exiger que les mots de passe comportent au moins 8 caractères, qu’ils contiennent un chiffre numérique et qu’ils contiennent des majuscules et des majuscules.
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
}
}
La variable de script créée par Class.create() doit avoir le même nom que la sortie d’installation elle-même – « ValidatePasswordStronger » dans cet exemple. Le script implémente la fonction process() qui renvoie true si le mot de passe est acceptable et false si le mot de passe doit être révisé. La fonction gs.addErrorMessage peut être utilisée pour renvoyer des messages d’erreur sur l’écran de changement de mot de passe. Vous pouvez essayer cette sortie d’installation dans votre instance en cochant le marqueur actif et en mettant à jour l’enregistrement. Assurez-vous de vider le cache après avoir fait cela afin que le changement soit reconnu.
Gardez également à l’esprit que la modification de ces scripts ne modifie pas le comportement par défaut ServiceNow : les mots de passe vides sont toujours interdits par défaut et les champs Mot de passe et Mot de passe de vérification doivent correspondre.
Résultats
Pour effectuer le test, cochez la case Mot de passe à réinitialiser sur l’enregistrement d’un utilisateur, puis connectez-vous avec cet utilisateur. La validation aura lieu au moment où l’utilisateur tentera de définir le mot de passe. La validation ne s’applique pas lorsqu’un utilisateur administrateur met directement à jour le mot de passe dans l’enregistrement utilisateur (l’administrateur peut mettre n’importe quoi dans le champ Mot de passe).
Remarque : L’écran de changement de mot de passe s’applique uniquement aux clients qui n’utilisent pas l’authentification unique et qui ne sont pas intégrés à leur LDAP local.