Class SQLiteSessionStore
java.lang.Object
br.ufsc.labsec.signature.database.SqlDatabase
br.ufsc.labsec.signature.database.authCodeSession.SQLiteSessionStore
- All Implemented Interfaces:
AuthCodeSessionStore
,Database
public class SQLiteSessionStore extends SqlDatabase implements AuthCodeSessionStore
Implementação de
AuthCodeSessionStore
usando SQLite.
Esta classe gerencia o armazenamento de sessões de autenticação em um
banco de dados SQLite, permitindo persistência entre reinicializações da aplicação.-
Constructor Summary
Constructors Constructor Description SQLiteSessionStore(DatabaseConnectionCreator connectionCreator)
-
Method Summary
Modifier and Type Method Description protected void
createTables()
Cria a tabela `session_store` se ela não existir.Set<String>
getExpiredSessionIds(Duration expiration)
String
getSession(String sessionId, String key)
Obtém o valor de uma chave específica para uma sessão.void
removeSession(String sessionId)
Deleta um par chave-valor para uma sessão.void
saveSession(String sessionId, String key, String value)
Salva um par chave-valor para uma sessão.Methods inherited from class br.ufsc.labsec.signature.database.SqlDatabase
close, createDatabase, executeStatement, inStatement
-
Constructor Details
-
SQLiteSessionStore
-
-
Method Details
-
createTables
protected void createTables()Cria a tabela `session_store` se ela não existir. A tabela armazena os dados da sessão com um timestamp para controle de expiração.- Specified by:
createTables
in classSqlDatabase
-
saveSession
Salva um par chave-valor para uma sessão. Se a sessão já existir com a mesma chave, o valor e o timestamp são atualizados.- Specified by:
saveSession
in interfaceAuthCodeSessionStore
- Parameters:
sessionId
- O identificador da sessão.key
- A chave do valor a ser salvo.value
- O valor a ser salvo.
-
removeSession
Deleta um par chave-valor para uma sessão.- Specified by:
removeSession
in interfaceAuthCodeSessionStore
- Parameters:
sessionId
- O identificador da sessão a ser removido
-
getSession
Obtém o valor de uma chave específica para uma sessão.- Specified by:
getSession
in interfaceAuthCodeSessionStore
- Parameters:
sessionId
- O identificador da sessão.key
- A chave do valor a ser recuperado.- Returns:
- O valor associado à chave, ou null se não for encontrado.
-
getExpiredSessionIds
- Specified by:
getExpiredSessionIds
in interfaceAuthCodeSessionStore
-