Efetuar login em java Desktop

12 respostas
habinovich

Pessoal so novo aki e gostaria de uma ajuda com de vcs estou desenvolvendo uma aplicação aki que usa login de usuarios, e mult-empresa, no caso gostaria de saber como fazer esse login e pegar o usuario logado.

Caso alguem tenha alguma dica ai para me mandar to ai !!

Obrigado… :lol:

12 Respostas

Alexandre_Saudate

Depende! O login é baseado em banco de dados? LDAP ? Single Sign-On?

[]´s

habinovich

asaudate:
Depende! O login é baseado em banco de dados? LDAP ? Single Sign-On?

[]´s

sim sim irmao baseado em banco…

adriano_si

Cara… nao e guardado em nenhum Buffer esse Usuario quando ele se loga… ou a aplicacao so valida esse cara e da acesso total a ele dentro do Sistema ???

habinovich
Tenho o seguinte codigo pra validar e logar em modulos
public void keyPressed(KeyEvent evt) {
        if (evt.getKeyCode() == KeyEvent.VK_ENTER) {
            validarLogin();
        }
    }

    private int cont;
    private void validarLogin() {
        query = entityManager.createNamedQuery("Usuario.verificarLogin");
        query.setParameter("loginUsuario", jTextField1.getText());
        query.setParameter("senhaUsuario", EncriptaSenha.encripta(jPasswordField1.getText()));
        List<Usuario> data = query.getResultList();

        if (data.size() > 0) {

            String args[] = new String[1];
            args[0] = data.get(0).getIdUsuario().toString();
            switch (jComboBox1.getSelectedIndex()) {
                case 0:
                    new TelaAdministrador().setVisible(true);
                break;
                case 1:
                    new TelaClinica().setVisible(true);
                break;
                case 2:
                    new TelaFinanceiro().setVisible(true);
                break;
                case 3:
                    new TelaAlmoxarifado().setVisible(true);
                break;
                default:
                    dispose();
            }
            Sessao sessao = Sessao.getInstance();
            sessao.setUsuario(usuario);
         } else {
            cont = cont + 1;
            if (cont < 3) {
                JOptionPane.showMessageDialog(null, "Usuário/Senha Incorretos (" + cont + "ª Tentativa)");

            } else {
                JOptionPane.showMessageDialog(null, "Você Excedeu o Limite Máximo de Tentativas");
                dispose();
            }

        }
        

    }
adriano_si

E sua classe Sessao, ela eh o que ???

habinovich

Galera valew pela ajuda de vcs consegui resolver aki o problema…

Valew msm!!!

adriano_si

Qual a solucao cara ??? compartilha ai caso alguem passe pelo mesmo problema…

Abs :wink:

habinovich
adriano_si:
Qual a solucao cara ??? compartilha ai caso alguem passe pelo mesmo problema...

Abs ;)

Claro cara... aki esta ja foi com a ajuda de vc neh...

Aki o meu form
private int cont;
    private void validarLogin() {
        query = entityManager.createNamedQuery("Usuario.verificarLogin");
        query.setParameter("loginUsuario", jTextField1.getText());
        query.setParameter("senhaUsuario", EncriptaSenha.encripta(jPasswordField1.getText()));
        List<Usuario> data = query.getResultList();

        if (data.size() > 0) {

            String args[] = new String[1];
            args[0] = data.get(0).getIdUsuario().toString();
            Sessao sessao = Sessao.getInstance();
            sessao.setUsuario(data.get(0));
            
            switch (jComboBox1.getSelectedIndex()) {
                case 0:
                    new TelaAdministrador().setVisible(true);
                break;
                case 1:
                    new TelaClinica().setVisible(true);
                break;
                case 2:
                    new TelaFinanceiro().setVisible(true);
                break;
                case 3:
                    new TelaAlmoxarifado().setVisible(true);
                break;
                default:
            }
            dispose();
         } else {
            cont = cont + 1;
            if (cont < 3) {
                JOptionPane.showMessageDialog(null, "Usuário/Senha Incorretos (" + cont + "ª Tentativa)");

            } else {
                JOptionPane.showMessageDialog(null, "Você Excedeu o Limite Máximo de Tentativas");
                dispose();
            }
        }
    }
aki minha class Session
public class Sessao {

        private static Sessao instance = null;
        private Usuario Usuario;

        public Sessao() {
         }

        public void setUsuario(Usuario usuario) {
            this.Usuario = usuario;
        }

        public Usuario getUsuario() {
            return Usuario;
        }

        public static Sessao getInstance() {
            if (instance == null) {
                instance = new Sessao();
            }
            return instance;
    }
}
e aki o codigo para colocar onde for ficar o Usuario Logado
bemvindo.setText(Sessao.getInstance().getUsuario().getNomeUsuario());

:lol: :lol:

THIAGOANALISTA

Só não entendi como vc fez para acessar o banco e validar o usuário, tem como explicar ?

o código é somente isso mesmo?

habinovich

ja consegui resolver o seu problema ai?

No codigo n eh so isso pq tem a criação das Jframe e os campos!

isso pq to usando NetBeans!!

Jesuino_Master

EU fazia um singleton com o usuário logado. Daí destruia o usuário, anulava, e pronto, estava deslogado.

O problema eram as gigantes dependências que tinham no meu código com a classe do Singleton…

rekcah

Ai galera estou precisando desenvolver um pequeno sistema, onde estou pensado em colocar a parte do login, gostaria da ajuda de vocês para me indicar alguma coisa ou ate mesmo se possível montar um tutorial, pois não estou conseguindo encontrar muita coisa sobre login em java Desktop, provavelmente como esta post já tem um tempo provavelmente vocês já tenham ate soluções melhores ou já aperfeiçoou esta mesma me ajudem ai se possível galera. abraços

Criado 30 de julho de 2010
Ultima resposta 27 de out. de 2011
Respostas 12
Participantes 6