Die Installation wird beendet
Installations-Exits sind Anpassungen, die Java verlassen, um ein Skript aufzurufen, bevor zu Java zurückgekehrt wird.
Verfügbare Installationsausgänge
Navigieren zu . 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, "");
}
}