---
sourceDocument: Segurança da plataforma Yokohama
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/pt-BR/yokohama/platform-security

 Release :

    - yokohama

ft:locale :

    - pt-BR

ft:publication_title :

    - Segurança da plataforma Yokohama

ft:clusterId :

    - psec

bundleId :

    - psec

workflow :

    - Platform


---

# Saídas de instalação

# Saídas de instalação {#ariaid-title1}

* Versão de lançamento: Yokohama
* 
* Atualizado 30 de jan. de 2025
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 2 min. de leitura

Saídas de instalação são personalizações que saem do Java para chamar um script antes de retornar ao Java.
Nota:  
A funcionalidade descrita aqui requer a função de administrador.

## Saídas de instalação disponíveis

Navegar até Definição do SistemaSaídas de Instalação. Alguns nomes de saída da instalação (Login, Logout, ValidatePassword, ExternalAuthentication) são reservados e não podem ser alterados. Outras saídas de instalação podem substituí-las por um script personalizado que substitui o script na saída de instalação padrão.

As seguintes saídas de instalação estão disponíveis no sistema de base:  
{#r_InstallationExits__table_nhy_hm1_yp__entry__2}

| Saída de instalação | Descrição |
|-|-|
| Login | Usa um par de nome de usuário e senha e autentica com o objeto de usuário |
| Logout | Conduz o usuário à página de boas-vindas ao fazer o logout; pode ser substituído por LogoutRedirect |
| LogoutRedirect | Leva o usuário a um URL especificado após o logout |
| ExternalAuthentication | Autentica usando cabeçalho, parâmetro ou cookie; pode ser substituída por DigestSingleSignOn e PGPSingleSignOn |
| DigestSingleSignOn | Autentica usando cabeçalho, parâmetro ou cookie e descriptografa a codificação Digest |
| PGPSingleSignOn | Autentica usando cabeçalho, parâmetro ou cookie e descriptografa a codificação PGP |
| ValidatePassword | Ativa por padrão, começando com a versão Helsinki; permite que os clientes definam sua própria validação de senha; pode ser substituída por ValidatePasswordStronger |
| ValidatePasswordStronger | A senha deve ter pelo menos 8 caracteres e conter um dígito, uma letra maiúscula e uma letra minúscula. |
| GetIntegrationSessionTimeout | Implementa o comportamento de tempo limite da sessão de integração padrão. |
[ ]

{#r_InstallationExits__table_nhy_hm1_yp}

## Modificações de login

A modificação a seguir da saída de instalação de Login define o valor de tempo limite de cada sessão do usuário conforme o usuário faz login. Neste exemplo específico, se o nome de usuário for admin, a sessão será definida como tempo limite em 30 segundos.

    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, "");
           }
     
    }

O tempo limite da sessão também pode ser definido de acordo com o endereço IP.

    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, "");
           }
     
    }

**Referência relacionada**   

* [Autenticação](https://servicenow-prod.fluidtopics.net/tRiRR305X2HQiG7OToyKvA "A categoria de autenticação cobre os principais elementos da autenticação moderna para confirmar que uma entidade e suas declarações são autênticas e corretas, resistentes à representação e impedem a interceptação de senhas.")

