Classes validação usuários

6 respostas
C

Pessoal, ainda sou novo em Java e gostaria de saber a opinião de vocês sobre essa pequena implementação que fiz para autenticar usuários.

Essa é a classe Cliente

public class Cliente implements Autenticacao {
  	private String nome;
  	private String senha;
  	
  		public Cliente(String nome, String senha){ //construtor parâmetro
  			this.nome = nome;
  			this.senha = senha;
  		}
  		
  		public Cliente(){ //construtor null
  		}
  		
  		public String getNome(){
  			return this.nome;
  		}
  		
  		public String getSenha(){
  			return this.senha;
  		}
  		
  		public void setSenha(String senha){
  			this.senha = senha;
  		}
  		
  		public boolean autenticacao (String n, String s){
  			if ((this.nome.equals(n)) && (this.senha.equals(s))){
  				System.out.println ("Login...");
  				return true;
  			}
  			else{
  				System.out.println ("Dados incorretos.");
  				return false;
  			}
  		}
  }

Essa aqui é uma interface para poder validar tipos diferentes: Cliente, Gerente, Diretor...

public interface Autenticacao{
  	public boolean autenticacao (String login, String senha);
}

Essa é a classe que recebe uma variável do tipo Autenticacao e faz as verificações.

import javax.swing.JOptionPane;
 
 
 public class ValidaLogin {
  
  	public void login (Autenticacao a){
  		a.autenticacao(JOptionPane.showInputDialog("Login \nNome:"), JOptionPane.showInputDialog("Login \nSenha:"));
  	}
}

Esse aqui é o teste.

public class TesteBanco {
      public static void main(String[] args) {
          Autenticacao cliente1 = new Cliente ("Rafael", "senha");
          ValidaLogin valida = new ValidaLogin();
          valida.login(cliente1);
      }
}

Sei que dá p/ implementar mais algumas coisas, mas esse aí é a idéia principal.

Valeu

6 Respostas

C

Ei pessoal, será que ficou bom?

Nenhuma sugestão?

T

Blz?
Bom, vamos lá…
Vc irá pegar o login e senha de onde? ficará fixo no código ou armazenará num banco de dados? Se for em banco coloca o código aqui para darmos uma olhada,ok?
Vc pode criar um atributo para identificar se está autenticado ou não, com os métodos setAutenticado e is Autenticado

Outro detalhe… eu costumo colocar operações de verificação, validação fora da classe usada como repositório (Bean).

Espero ter ajudado.

C

thiagomont, fala cara…blz.

Na verdade é apenas um programinha pra estudo que estou começando, pra fixar os conceitos básicos de OO.

A princípio a idéia é pegar os dados dos clientes pelo terminal, guardá-los em um ArrayList e gravar em um arquivo.
Depois do cadastro o cliente tentaria se logar comparando os dados já gravados.

Banco de dados propriamente dito acho que não, apesar dessa idéia de arquivo funcionar como banco de dados.

T

Então vamos lá…

Dê uma estudada no Java IO para gravação de arquivos…

Monte um diagrama de classe para não se perder…

OBS: a gravação de arquivor e consulta em arquivo considero mais difícil que acesso ao banco de dados. Sendo assim recomendo que use um banco de dados a não ser que vc seja obrigado a usar arquivo ou que queira aprender o pacote Java IO mesmo.

Para uma aplicação pequena vc pode usar o Firebird (como banco de destes) ou o Derby, para uma aplicação pra valer recomendaria o PostgreSQL.

OBS: caso tenha dúvida no diagrama de classe, coloca o arquivo no forum que o pessoal ajuda, blz?
t+

C

thiagomont, porque a necessidade do diagrama de classe?

Tinha pensado em gravar os dados em um arquivo mesmo, banco de dados nunca tive contato.

T

Eu costumo usar diagrama de classe mesmo para aplicações pequenas para não me perder durante o desenvolvimento.
Em relação a utilização de banco de dados ou não, comentei de utilizar banco por ser uma opção mais simples para desenvolver que o armazenamento de arquivos. De qualquer forma, caso utilize arquivo verifique o pacote IO da api do java. E se precisar de ajuda é só colocar suas dúvidas…

Criado 31 de julho de 2007
Ultima resposta 2 de ago. de 2007
Respostas 6
Participantes 2