Die Installation wird beendet

  • Freigeben Version: Washingtondc
  • Aktualisiert 1. Februar 2024
  • 2 Minuten Lesedauer
  • Installations-Exits sind Anpassungen, die Java verlassen, um ein Skript aufzurufen, bevor zu Java zurückgekehrt wird.

    Hinweis:
    Die hier beschriebene Funktionalität erfordert die Admin-Rolle.

    Verfügbare Installationsausgänge

    Navigieren zu Systemdefinition > Installationsausgänge. Einige Namen der Installationsausgänge (Login, Logout, ValidatePassword, ExternalAuthentication) sind reserviert und können nicht geändert werden. Andere Installations-Exits können diese mit einem benutzerdefinierten Skript überschreiben, das das Skript im Standard-Installations-Exit ersetzt.

    Die folgenden Installationsausgänge sind im Basissystem verfügbar:

    Installationsausgang Beschreibung
    Anmelden Verwendet ein Benutzername-Passwort-Paar und authentifiziert sich mit dem Benutzerobjekt
    Abmelden Leitet den Anwender beim Abmelden zur Willkommensseite. kann von LogoutRedirect überschrieben werden
    LogoutRedirect Leitet den Anwender beim Abmelden zu einer angegebenen URL weiter
    Externe Authentifizierung Authentifiziert mit Header, Parameter oder Cookie; kann von DigestSingleSignOn und PGPSingleSignOn überschrieben werden
    DigestSingleSignOn Authentifiziert mithilfe von Header, Parameter oder Cookie und entschlüsselt die Digest-Verschlüsselung
    PGPSingleSignOn Authentifiziert mithilfe von Header, Parameter oder Cookie und entschlüsselt die PGP-Verschlüsselung
    ValidierenPasswort Standardmäßig aktiv, beginnend mit Release Helsinki. ermöglicht Kunden, ihre eigene Passwortvalidierung zu definieren; kann von ValidatePasswordStronger überschrieben werden
    ValidierenPasswordStronger Erfordert, dass Passwörter mindestens 8 Zeichen lang sind und eine Ziffer, einen Großbuchstaben und einen Kleinbuchstaben enthalten
    GetIntegrationSessionTimeout Implementiert das standardmäßige Zeitüberschreitungsverhalten für Integrationssitzungen.

    Anmeldeänderungen

    Durch die folgende Änderung des Login -Installations-Exits wird der Zeitüberschreitungswert für die Sitzung jedes Benutzers festgelegt, wenn sich der Benutzer anmeldet. Wenn der Benutzername in diesem Beispiel adminlautet, wird die Sitzung auf eine Zeitüberschreitung in 30 Sekunden festgelegt.

    gs.include("PrototypeServer");
     
    var Login = Class.create();
    Login.prototype = {
    	initialize : function() {
    	},
     
            process : function() {
              // the request is passed in as a global
              var userName = request.getParameter("user_name");
              var userPassword = request.getParameter("user_password");
     
              var authed = GlideUser.authenticate(userName, userPassword);
              if (authed) {
                 // ***********************************************************        
                 // customization - if the userName == admin, set the session
                 // timeout to be 30 seconds. You can implement your own  
                 // session timeout algorithm here by checking to see if a user
                 // belongs to a certain group or has a certain role.
                 // Values of setMaxInactiveInterval exceeding 1440 minutes are
                 // treated as one day (1440 minutes).
      
               if (userName == "admin") {
                   request.getSession().setMaxInactiveInterval(30);
                 }
                 // ************************************************************
                 return GlideUser.getUser(userName);
              }
     
              this.loginFailed();
     
              return "login.failed";
            },
     
            loginFailed : function() {
              var message = GlideSysMessage.format("login_invalid");
              var gSession = GlideSession.get();
              gSession.addErrorMessage(message);
     
              var userName = request.getParameter("user_name");
              EventManager.queue("login.failed", "", userName, "");
           }
     
    }

    Die Sitzungszeitüberschreitung kann auch entsprechend der IP-Adresse festgelegt werden.

    gs.include("PrototypeServer");
     
    var Login = Class.create();
    Login.prototype = {
    	initialize : function() {
    	},
     
            process : function() {
              // the request is passed in as a global
              var userName = request.getParameter("user_name");
              var userPassword = request.getParameter("user_password");
     
              var authed = GlideUser.authenticate(userName, userPassword);
              if (authed) {
     
              // **************************************************************
              // customization - if the user is logging in from a particular IP
              // range starting with XXX.XXX you can implement your own
              // session timeout algorithm here by checking the login IP
              // 
              // Values of setMaxInactiveInterval exceeding 1440 minutes are
              // treated as one day (1440 minutes).
     
              var clientIP = gs.getSession().getClientIP().toString();
    
              // if client IP starts with specified range
              if (clientIP.indexOf('XXX.XXX') == 0) {  
                 // set to 10 hours
                 request.getSession().setMaxInactiveInterval(60 * 60 * 10); 
              }
              // ***************************************************************
     
                 return GlideUser.getUser(userName);
              }
     
              this.loginFailed();
     
              return "login.failed";
            },
     
            loginFailed : function() {
              var message = GlideSysMessage.format("login_invalid");
              var gSession = GlideSession.get();
              gSession.addErrorMessage(message);
     
              var userName = request.getParameter("user_name");
              EventManager.queue("login.failed", "", userName, "");
           }
     
    }