Verstärken Sie die Passwortvalidierungsregeln

  • Freigeben Version: Washingtondc
  • Aktualisiert 1. Februar 2024
  • 1 Minute Lesedauer
  • Sie können die Validierungsregeln für die Passwortstärke für den Bildschirm „Passwort ändern“ anpassen, indem Sie den mit der Passwortvalidierung verknüpften Installations-Exit überschreiben.

    Vorbereitungen

    Erforderliche Rolle: admin

    Prozedur

    1. Navigieren zu Alle > Systemdefinition > Installationsausgänge.
    2. Suchen Sie nach ValidatePassword (standardmäßig inaktiv) und ValidatePasswordStronger (standardmäßig aktiv, beginnend mit Release Helsinki.
    3. Das ValidatePasswordStronger- Skript (unten) ist ein Beispielskript, das das ValidatePassword -Skript mithilfe regulärer Ausdrücke überschreibt, um zu verlangen, dass Passwörter mindestens 8 Zeichen lang sind, eine Ziffer enthalten und Buchstaben in Groß-/Kleinschreibung enthalten.
      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
             }
        }

      Die von Class.create() erstellte Skriptvariable muss denselben Namen haben wie der Installationsausgang selbst – in diesem Beispiel „ValidatePasswordStronger“. Das Skript implementiert die Funktion process(), die „true“ zurückgibt, wenn das Passwort akzeptabel ist, und „false“, wenn das Passwort überarbeitet werden muss. Die Funktion gs.addErrorMessage kann verwendet werden, um Fehlermeldungen auf dem Bildschirm zum Ändern des Passworts zurückzugeben. Sie können diesen Installations-Exit in Ihrer Instanz ausprobieren, indem Sie die aktive Kennzeichnung überprüfen und den Datensatz aktualisieren. Leeren Sie anschließend den Cache, damit die Änderung erkannt wird.

      Beachten Sie auch, dass das Ändern dieser Skripts das Standardverhalten von ServiceNow nicht ändert: Leere Passwörter sind weiterhin standardmäßig verboten, und die Felder „Passwort“ und „Passwort überprüfen“ müssen übereinstimmen.

    Ergebnisse

    Aktivieren Sie zum Testen das Kontrollkästchen „ Passwort muss zurückgesetzt werden“ in einem Benutzerdatensatz, und melden Sie sich mit diesem Benutzer an. Die Validierung erfolgt an dem Punkt, an dem der Benutzer versucht, das Passwort festzulegen. Die Validierung erfolgt nicht, wenn ein Admin-Benutzer das Passwort im Benutzerdatensatz direkt aktualisiert (der Administrator kann alles in das Passwortfeld eingeben).

    Hinweis:
    Der Bildschirm „Passwort ändern“ gilt nur für Kunden, die kein Single Sign-on verwenden und nicht in ihr lokales LDAP integriert sind.