Boa tarde/Noite pessoal, creio que seja uma pergunta simples mas gostaria da ajuda de vcs. A questão é mais na logica do login. Gostaria que meu login tivesse como campos: Login e Senha.
Com a classe Pessoa eu poderia fazer oq eu to querendo? No caso eu teria que ter esses dois novos atributos como: Login e Senha? Caso nao seja assim, eu preciso criar uma outra classe como Usuário para fazer o login ou somente mesmo com a Pessoa (com esses novos atributos) eu poderia fazer esse login?
Boa tarde, cara depende de como são os requisitos do que você está querendo fazer. Se for vinculado a um banco de dados, pelo menos particularmente, eu divido bastante em dois objetos : Conta e Pessoa. Mesmo não sendo, também acho importante uma boa distinção dos objetos para que no futuro caso você precise fazer alteração só em atributos dignos somente do objeto Pessoa seja de fácil acesso. Mas isso vai de cada pessoa, como também pode por só em pessoa. Qualquer coisa é só perguntar.
Vini_Fernandes
Cara, já me deparei com essa dúvída, pois tinha que autenticar e autorizar o usuario e incluir algumas informacoes na HttpSession, por isso criei a classe Login, abaixo:
Veja que por uma questao de seguranca NAO eu nao devo manter a senha nessa classe. Entao encapsulei apenas o username, usergroup e email, que eram as informcoes do meu interesse.
Ate mais
Henrique_Fernandes
Acho que meu problema ainda nao foi entendido, creio que posso não ter sido claro! Novamente só lembrando que meu sistema é DESKTOP.
E a minha dúvida maior é que por exemplo eu tenho na minha classe Pessoa nome e codigo, como já foi mostrada mais acima!
Minha tela de Login vai pedir: Username e Password.
Então no caso deveria colocar dois novos atributos na classe Pessoa que ela ficaria:
publicclassPessoa{privateStringnome;privateintcodigo;[b]privateStringusername;privateStringpassword;[/b]publicPessoa(Stringnome,intcodigo,Stringusername,Stringpassword){this.nome=nome;this.codigo=codigo;[b]this.username=username;this.password=password;[/b]}//gets e sets}
Ou criaria uma outra classe para que o meu Objeto pessoa pudesse acessar o sistema? Se tiver que criar essa nova classe, como seria?
[]'s
Henrique.
Vini_Fernandes
Voce esta correto! Grande parte dos sistemas tem uma tabela chamada USUARIO, que no seu caso deve ser PESSOA. Cada Pessoa, tem um username e um login, sendo que o username deve ser unico! Portanto, basta voce usar sua camada responsavel por recuperar os dados da base e conflitar com o que o usuario digitou! Veja como eu faco:
//o usuario digitou login/senhaStringlogin==//entraga do usuarioStringsenha==//entraga do usuario//minha classe que encapsula toda a complexidade de recuperar e persistir os dados no sistemaUsuarioDAOdao=newUsuarioDAO();//pesquisa a existencia de um usuario do sistema com o mesmo login/senhaUsuariousuario=dao.pesquisarUsuario(login,senha);if(usuario!=null){//seu usuario existe na base, portato esta autenticado no sistema}else{//seu usuario NAO existe na base, portato NAO esta autenticado no sistema}
Imagino que vc fara com sua Classe Pessoa!
Ate mais
Henrique_Fernandes
Então no me caso a classe Pessoa ficará assim:
publicclassPessoa{privateStringnome;privateintcodigo;[b]privateStringusername;privateStringpassword;[/b]publicPessoa(Stringnome,intcodigo,Stringusername,Stringpassword){this.nome=nome;this.codigo=codigo;[b]this.username=username;this.password=password;[/b]}//gets e sets}
A minha classe Pessoa com esses 4 atributos tá certa ou tenho que somente ter os atributos login e senha como vc fez? Acho que é somente essa pergunta que tá faltando pra tirar todas as minhas duvidas em relação aos atributos que eu acabei de citar.
[]'s
Henrique.
Vini_Fernandes
Veja como esta a minha classe Usuario e suas duvidas estarao resolvidas…rsrsr
/* * To change this template, choose Tools | Templates * and open the template in the editor. */packagebr.com.vinicius.locadora.modelo.bean;importjava.io.Serializable;importjava.util.ArrayList;importjava.util.Collection;importjava.util.Date;publicclassUsuarioimplementsSerializable{privateIntegerid;privateStringnome;privateStringemail;privateStringendereco;privateStringtelefone;privateDatedataInscricao;privateDatedataUltimaLocacao;privateIntegerlocacoes;privateDoublependencia;privateStringlogin;privateStringsenha;privateGrupogrupo;privateCategoriaUsuariocategoriaUsuario;privateUsuariousuarioTitular;privateCollection<Promocao>listaPromocao=newArrayList<Promocao>();publicUsuario(){}publicUsuario(Integerid){this.id=id;}publicUsuario(Integerid,Stringnome,Stringsenha){this.id=id;this.nome=nome;this.senha=senha;}publicIntegergetId(){returnid;}publicvoidsetId(Integerid){this.id=id;}publicStringgetNome(){returnnome;}publicvoidsetNome(Stringnome){this.nome=nome;}publicStringgetEmail(){returnemail;}publicvoidsetEmail(Stringemail){this.email=email;}publicStringgetSenha(){returnsenha;}publicvoidsetSenha(Stringsenha){this.senha=senha;}publicGrupogetGrupo(){returngrupo;}publicvoidsetGrupo(Grupogrupo){this.grupo=grupo;}publicStringgetEndereco(){returnendereco;}publicvoidsetEndereco(Stringendereco){this.endereco=endereco;}publicStringgetTelefone(){returntelefone;}publicvoidsetTelefone(Stringtelefone){this.telefone=telefone;}publicDategetDataInscricao(){returndataInscricao;}publicvoidsetDataInscricao(DatedataInscricao){this.dataInscricao=dataInscricao;}publicDategetDataUltimaLocacao(){returndataUltimaLocacao;}publicvoidsetDataUltimaLocacao(DatedataUltimaLocacao){this.dataUltimaLocacao=dataUltimaLocacao;}publicIntegergetLocacoes(){returnlocacoes;}publicvoidsetLocacoes(Integerlocacoes){this.locacoes=locacoes;}publicDoublegetPendencia(){returnpendencia;}publicvoidsetPendencia(Doublependencia){this.pendencia=pendencia;}publicStringgetLogin(){returnlogin;}publicvoidsetLogin(Stringlogin){this.login=login;}publicCategoriaUsuariogetCategoriaUsuario(){returncategoriaUsuario;}publicvoidsetCategoriaUsuario(CategoriaUsuariocategoriaUsuario){this.categoriaUsuario=categoriaUsuario;}publicUsuariogetUsuarioTitular(){returnusuarioTitular;}publicvoidsetUsuarioTitular(UsuariousuarioTitular){this.usuarioTitular=usuarioTitular;}publicCollection<Promocao>getListaPromocao(){returnlistaPromocao;}publicvoidsetListaPromocao(Collection<Promocao>listaPromocao){this.listaPromocao=listaPromocao;}publicinthashCode(){//TODO}publicbooleanequals(Objectobject){//TODO}publicStringtoString(){//TODO}}
Minha classe Usuario tem inclusive login e senha…rrsr!
O que vc esta usando para persistir seus beans?
ate mais
renamed
CaioO:
Boa tarde, cara depende de como são os requisitos do que você está querendo fazer. Se for vinculado a um banco de dados, pelo menos particularmente, eu divido bastante em dois objetos : Conta e Pessoa. Mesmo não sendo, também acho importante uma boa distinção dos objetos para que no futuro caso você precise fazer alteração só em atributos dignos somente do objeto Pessoa seja de fácil acesso. Mas isso vai de cada pessoa, como também pode por só em pessoa. Qualquer coisa é só perguntar.
Eu também costumo fazer que nem o Caio, algo desse tipo...