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:
| name | 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 |