Serviço de Históricos de Login

Serviço responsável pela busca de logins no sistema fSense web da organização.

Exportar Histórico de Login - Exemplo de Implementação CSV

Para exportar o histórico de login no formato CSV, podemos fazer da seguinte maneira.

Configuração do Arquivo Properties.

Definição do Serviço

No arquivo fsense.properties, defina o serviço a ser executado ajustando a propriedade service.name para LOGIN_HISTORY_SERVICE.

    # SERVICO A SER EXECUTADO
service.name=LOGIN_HISTORY_SERVICE

Método do Serviço

Configure o método do serviço para EXPORT_LOGIN_HISTORY através da propriedade service.method.

    # METODO DO SERVIÇO A SER EXECUTADO
service.method=EXPORT_LOGIN_HISTORY

Tipo de Operação

Especifique o tipo de operação desejado através da propriedade operation.type. Defina o como CSV para exportar para um arquivo CSV ou como DATABASE para exportar para um banco de dados. Para esta implementação, defina CSV.

    # TIPO DE OPERAÇÃO
operation.type=csv

Parâmetros de Exportação

É possível informar parâmetros opcionais, como o ID de um pessoa cadastrada ou um período de datas que deseja buscar o histórico de logins efetuados no painel de Gestão Online fSense. Preencha esses campos conforme necessário.

    # PARÂMETROS OPCIONAIS PARA EXPORTAÇÃO DE LOGIN
login.history.person.id=
#[dd/MM/yyyy]
login.history.start=
#[dd/MM/yyyy]
login.history.end=

Execução da Aplicação

Após configurar o arquivo fsense.properties, execute a aplicação. A aplicação realizará requisições HTTP à API fSense para obter o histórico de login e gerará um arquivo CSV como nome login_history.csv.

    =========================================================
SELECTED SERVICE [LOGIN_HISTORY_SERVICE]
=========================================================
OPERATION TYPE: CSV
=========================================================
SELECTED METHOD [EXPORT_LOGIN_HISTORY]
=========================================================
Getting Login History
checking if token is valid?: false
=========================================================
Starting authentication process
Getting access token
Token received.
ba88697a-1c96-4a31-93b7-93cfae727ccb
=========================================================
AUTHENTICATION SUCCESS
=========================================================
Nº pages found : 20
Getting Login history page 1/20
Getting Login history page 2/20
Getting Login history page 3/20
Getting Login history page 4/20
Getting Login history page 5/20
Getting Login history page 6/20
Getting Login history page 7/20
Getting Login history page 8/20
Getting Login history page 9/20
Getting Login history page 10/20
Getting Login history page 11/20
Getting Login history page 12/20
Getting Login history page 13/20
Getting Login history page 14/20
Getting Login history page 15/20
Getting Login history page 16/20
Getting Login history page 17/20
Getting Login history page 18/20
Getting Login history page 19/20
Getting Login history page 20/20
Nº records found : 1000
========================================================
GENERATING CSV
========================================================
File Generated: login_history.csv
Status: saved successfully
File Saved in path: ./src/main/resources/files/export/login_history.csv
========================================================
EXPORT LOGIN HISTORY FINISHED SUCCESSFULLY
========================================================
End of execution.

Os arquivos são armazenados no diretório src/main/resources/files/export/.

Verificação da Operação

Após a execução da aplicação, abra o arquivo gerado para verificar o histórico de login exportado. O arquivo exportado terá uma estrutura semelhante à do exemplo abaixo:

'name','email','date'
'ROOT','maria@gmail.com','2024-09-09T20:18:00.196+00:00'
'ROOT','maria@gmail.com','2024-09-09T20:17:43.622+00:00'
'ROOT','maria@gmail.com','2024-09-09T14:11:16.628+00:00'
'ROOT','maria@gmail.com','2024-09-09T12:37:11.826+00:00'
'ROOT','maria@gmail.com','2024-09-06T20:53:21.679+00:00'
'ROOT','maria@gmail.com','2024-09-06T18:08:02.944+00:00'

Exportar Histórico de Login - Exemplo de Implementação de Banco de Dados

Para exportar o hIstórico de login fazendo a persistência no banco de dados, podemos fazer da seguinte maneira.

Configuração do Arquivo Properties.

Definição do Serviço

No arquivo fsense.properties, defina o serviço a ser executado ajustando a propriedade service.name para LOGIN_HISTORY_SERVICE.

    # SERVICO A SER EXECUTADO
service.name=LOGIN_HISTORY_SERVICE

Método do Serviço

Configure o método do serviço para EXPORT_LOGIN_HISTORY através da propriedade service.method.

    # METODO DO SERVIÇO A SER EXECUTADO
service.method=EXPORT_HISTORY_SERVICE

Tipo de Operação

Especifique o tipo de operação desejado através da propriedade operation.type. Defina o como CSV para exportar para um arquivo CSV ou como DATABASE para exportar para um banco de dados. Para esta implementação, defina DATABASE.

    # TIPO DE OPERAÇÃO
operation.type=DATABASE

Parâmetros de Exportação

É possível informar parâmetros opcionais, como o ID de um pessoa cadastrada ou um período de datas que deseja buscar o histórico de logins efetuados no painel de Gestão Online fSense. Preencha esses campos conforme necessário.

    # PARÂMETROS OPCIONAIS PARA EXPORTAÇÃO DE LOGIN
login.history.person.id=
#[dd/MM/yyyy]
login.history.start=
#[dd/MM/yyyy]
login.history.end=

Execução da Aplicação

Após configurar o arquivo fsense.properties, execute a aplicação. A aplicação realizará requisições HTTP à API fSense para obter o histórico de Login e em seguida fará a persistência dos dados no banco.

    =========================================================
SELECTED SERVICE [LOGIN_HISTORY_SERVICE]
=========================================================
OPERATION TYPE: DATABASE
=========================================================
SELECTED METHOD [EXPORT_LOGIN_HISTORY]
=========================================================
Getting Login History
checking if token is valid?: false
=========================================================
Starting authentication process
Getting access token
Token received.
ba88697a-1c96-4a31-93b7-93cfae727ccb
=========================================================
AUTHENTICATION SUCCESS
=========================================================
Nº pages found : 20
Getting Login history page 1/20
Getting Login history page 2/20
Getting Login history page 3/20
Getting Login history page 4/20
Getting Login history page 5/20
Getting Login history page 6/20
Getting Login history page 7/20
Getting Login history page 8/20
Getting Login history page 9/20
Getting Login history page 10/20
Getting Login history page 11/20
Getting Login history page 12/20
Getting Login history page 13/20
Getting Login history page 14/20
Getting Login history page 15/20
Getting Login history page 16/20
Getting Login history page 17/20
Getting Login history page 18/20
Getting Login history page 19/20
Getting Login history page 20/20
Nº records found : 1000
========================================================
SAVING ON DATABASE
========================================================
Open database connection
Saving on tb_login_history
Update Count: 1000
Database connection close
========================================================
SAVING DATABASE LOGIN HISTORY FINISHED SUCCESSFULLY
========================================================
End of execution.

Verificação da Operação

Após a execução da aplicação, abra a ferramenta de banco de dados de sua preferência e faça uma consulta na tabela tb_login_history.

    SELECT * FROM tb_login_history;

A tabela terá uma estrutura semelhante à esta:

nameemaildate
ROOTmaria@gmail.com2024-09-09T20:18:00.196+00:00
ROOTmaria@gmail.com2024-09-09T20:17:43.622+00:00
ROOTmaria@gmail.com2024-09-09T14:11:16.628+00:00
ROOTmaria@gmail.com2024-09-09T12:37:11.826+00:00
ROOTmaria@gmail.com2024-09-06T20:53:21.679+00:00
ROOTmaria@gmail.com2024-09-06T18:08:02.944+00:00