Manter o usuário logado em uma variavel estática

2 respostas
P

Pessoal,
Estou desenvolvendo uma apliação client e preciso armazenar o usuário que logou na aplicação para poder passa-lo como parametros para gravar nas tabelas do banco de dados, etc.

A dúvida é como manter o valor do usuario logado na aplicação enquanto a aplicação estiver rodando.
Pensei em utilizar o Singleton mas vi que não é correto utiliza-lo como uma forma de manter uma variavel global.

Vocês tem algo contra manter esse valor em uma variavel estática?

2 Respostas

T

“Aplicação client” é uma aplicação Swing (Desktop)? Se for, use um singleton mesmo, já que apenas um usuário irá usar a aplicação de cada vez.

Uma variável estática é uma forma de implementar um Singleton.

T

Se a aplicação for swing desktop o singleton funciona. Vc pode fazer algo desse tipo:

public class UserOnSession {

private static UserOnSession INSTANCE = new UserOnSession();
private User user;

private UserOnSession() {

}

public static UserOnSession  getInstance() {
    return INSTANCE;
}

public void setUser(User user){
     this.user = user;
}

public User getUser(){
   return user;
}


}

Senão for terá que instanciar um objeto UserOnSession para cada usuario logado.

Criado 2 de julho de 2009
Ultima resposta 2 de jul. de 2009
Respostas 2
Participantes 3