Class Licenca

java.lang.Object
br.com.intersys.systextil.global.Licenca
All Implemented Interfaces:
EventListener, javax.servlet.http.HttpSessionListener, javax.servlet.ServletContextListener

public class Licenca extends Object implements javax.servlet.http.HttpSessionListener, javax.servlet.ServletContextListener
A Licenca é responsável pelas validações de licença no login e logout do systêxtil WEB.

Atualmente as regras de login e logout são feitas nos seguintes pontos:

  • Na tela de login, quando o usuário acessar o sistema, é chamado o método validar, registrando a sessão HTTP atual se ainda não tiver sido registrada.
  • Ao entrar na tela do menu principal, o EventServlet é acionado para manter a sessão ativa.
  • Quando o usuário fecha a aba do navegador, ou retorna para a tela de login, ou sobrescreve o endereço da aba, a conexão a esse servlet é fechada e a sessão fica sujeita a expirar.
  • Quando o servidor é iniciado, o método removeAll() é chamado e remove todas as sessões deste servidor que haviam sido registradas.
  • Quando uma sessão expira ou quando o servidor é "baixado", o método sessionDestroyed(HttpSessionEvent) é chamado e remove a sessão do registro de sessões.
  • Constructor Details

    • Licenca

      public Licenca()
  • Method Details

    • contextInitialized

      public void contextInitialized(javax.servlet.ServletContextEvent sce)
      Specified by:
      contextInitialized in interface javax.servlet.ServletContextListener
    • contextDestroyed

      public void contextDestroyed(javax.servlet.ServletContextEvent sce)
      Specified by:
      contextDestroyed in interface javax.servlet.ServletContextListener
    • destroy

      public void destroy()
      Não faz nada.
    • validar

      public static boolean validar(Connection conn, javax.servlet.http.HttpSession session, String managerId, systextil.auth.Login login) throws Exception
      Faz a validação da licença. Ou seja, verifica se a licença não está vencida e se há licenças disponíveis.

      É necessário fazer commit depois de chamar este método.

      Parameters:
      conn - a conexão com o banco de dados
      session - a sessão HTTP
      managerId - o identificador da sessão do ERP
      login - os dados do usuário no ERP
      Returns:
      se a sessão foi registrada dentro do limite contratado
      Throws:
      Exception - quando ocorrer algum problema
    • putSessionID

      public static void putSessionID(String managerID, javax.servlet.http.HttpSession session, systextil.auth.Login login) throws Exception
      Registra na sessão HTTP fora da transação do Profile.
      Parameters:
      managerID - o managerId
      session - a sessão HTTP
      login - o login
      Throws:
      Exception - quando ocorrer algum problema
    • apexRegister

      public static boolean apexRegister(Connection conn, String managerID, systextil.auth.Login login) throws Exception
      Registra um login do ERP para ser autorizado no Apex.

      Aproveita para remover logins esquecidos há mais de 7 dias.

      Parameters:
      conn - a conexão
      managerID - o managerId
      login - o login
      Returns:
      se houve alterações, requerendo um commit na conexão
      Throws:
      Exception - quando ocorrer algum problema
    • sessionCreated

      public void sessionCreated(javax.servlet.http.HttpSessionEvent hse)
      Specified by:
      sessionCreated in interface javax.servlet.http.HttpSessionListener
    • sessionDestroyed

      public void sessionDestroyed(javax.servlet.http.HttpSessionEvent hse)
      Specified by:
      sessionDestroyed in interface javax.servlet.http.HttpSessionListener