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 voidcreateTables()Cria a tabela `session_store` se ela não existir.Set<String>getExpiredSessionIds(Duration expiration)StringgetSession(String sessionId, String key)Obtém o valor de uma chave específica para uma sessão.voidremoveSession(String sessionId)Deleta um par chave-valor para uma sessão.voidsaveSession(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:
createTablesin 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:
saveSessionin 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:
removeSessionin 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:
getSessionin 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:
getExpiredSessionIdsin interfaceAuthCodeSessionStore
-