Installationsausgänge

  • Freigeben Version: Zurich
  • Aktualisiert 31. Juli 2025
  • 2 Minuten Lesedauer
  • Installationsausgänge sind Anpassungen, die Java verlassen, um ein Skript aufzurufen, bevor sie zu Java zurückkehren.

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

    Verfügbare Installationsausgänge

    Navigieren zu Systemdefinition > Installationsausgängean. Einige Installationsausgangsnamen (Login, Logout, ValidatePassword, ExternalAuthentication) sind reserviert und können nicht geändert werden. Andere Installationsausgänge können diese mit einem anwenderdefinierten Skript überschreiben, das das Skript im Standardinstallationsausgang ersetzt.

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

    Installationsausgang Beschreibung
    Anmelden Verwendet ein Anwendername- und Passwortpaar und authentifiziert sich beim Anwenderobjekt
    Abmelden Führt den Anwender nach der Abmeldung zur Willkommensseite; kann von LogoutRedirect überschrieben werden
    LogoutUmleitung Führt den Anwender nach der Abmeldung zu einer angegebenen URL
    ExternalAuthentication Authentifiziert sich mithilfe von Header, Parameter oder Cookie; kann von DigestSingleSignOn und PGPSingleSignOn überschrieben werden
    DigestSingleSignOn Authentifiziert sich mithilfe von Header, Parameter oder Cookie und entschlüsselt die Digest-Verschlüsselung
    PGPSingleSignOn Authentifiziert sich mithilfe von Header, Parameter oder Cookie und entschlüsselt die PGP-Verschlüsselung
    ValidatePassword Standardmäßig aktiv, beginnend mit Helsinki Release; ermöglicht Kunden, ihre eigene Passwortvalidierung zu definieren; kann von ValidatePasswordStronger überschrieben werden
    ValidierenPasswordStronger Passwörter müssen mindestens 8 Zeichen lang sein und eine Ziffer, einen Großbuchstaben und einen Kleinbuchstaben enthalten
    GetIntegrationSessionTimeout Implementiert das standardmäßige Timeout-Verhalten für Integrationssitzungen.

    Anmeldungsänderungen

    Die folgende Änderung an Melden Sie Sich An Beim Installationsausgang wird der Sitzungszeitüberschreitungswert jedes Anwenders festgelegt, während sich der Anwender anmeldet. In diesem Beispiel, wenn der Anwendername lautet Administrator , Die Sitzung wird 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, "");
           }
     
    }

    Sitzungszeitüberschreitung kann auch gemäß 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, "");
           }
     
    }