Installationsausgänge
Installationsausgänge sind Anpassungen, die Java verlassen, um ein Skript aufzurufen, bevor sie zu Java zurückkehren.
Verfügbare Installationsausgänge
Navigieren zu an. 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, "");
}
}