Package br.com.intersys.systextil.global
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 Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic booleanapexRegister(Connection conn, String managerID, systextil.auth.Login login) Registra um login do ERP para ser autorizado no Apex.voidcontextDestroyed(javax.servlet.ServletContextEvent sce) voidcontextInitialized(javax.servlet.ServletContextEvent sce) voiddestroy()Não faz nada.static voidputSessionID(String managerID, javax.servlet.http.HttpSession session, systextil.auth.Login login) Registra na sessão HTTP fora da transação do Profile.voidsessionCreated(javax.servlet.http.HttpSessionEvent hse) voidsessionDestroyed(javax.servlet.http.HttpSessionEvent hse) static booleanvalidar(Connection conn, javax.servlet.http.HttpSession session, String managerId, systextil.auth.Login login) Faz a validação da licença.
-
Constructor Details
-
Licenca
public Licenca()
-
-
Method Details
-
contextInitialized
public void contextInitialized(javax.servlet.ServletContextEvent sce) - Specified by:
contextInitializedin interfacejavax.servlet.ServletContextListener
-
contextDestroyed
public void contextDestroyed(javax.servlet.ServletContextEvent sce) - Specified by:
contextDestroyedin interfacejavax.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 dadossession- a sessão HTTPmanagerId- o identificador da sessão do ERPlogin- 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 managerIdsession- a sessão HTTPlogin- 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ãomanagerID- o managerIdlogin- 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:
sessionCreatedin interfacejavax.servlet.http.HttpSessionListener
-
sessionDestroyed
public void sessionDestroyed(javax.servlet.http.HttpSessionEvent hse) - Specified by:
sessionDestroyedin interfacejavax.servlet.http.HttpSessionListener
-