Pannello Unico Per amministratore

di il
2 risposte

Pannello Unico Per amministratore

Ragazzi ho un piccolissimo problema, ho sviluppato un'applicazione in java.

L'accesso si effettua tramite login, io vorrei che se l'utente che effettua il login è l'amministratore dopo l'accesso mi si presenti un pannello altrimenti mi si presenti il pannello standard per tutti gli altri utenti? come faccio?

2 Risposte

  • Re: Pannello Unico Per amministratore

    CRTVLB ha scritto:


    L'accesso si effettua tramite login, io vorrei che se l'utente che effettua il login è l'amministratore dopo l'accesso mi si presenti un pannello altrimenti mi si presenti il pannello standard per tutti gli altri utenti? come faccio?
    Questione un po' vaga ... nel senso che dipende innanzitutto dalle logiche applicative del login (hai una "base dati", in qualunque forma, degli utenti? ad ogni utente è associato in qualche modo un "ruolo"?).
    E poi è solo tutta questione di come viene gestito il layout dei componenti. Scambiare pannelli (e in generale componenti) in modo da mostrarne solo uno per volta occupando il medesimo spazio, si può fare con svariate tecniche. Le avevo citate in questo post, tra l'altro rispondendo proprio a te.
  • Re: Pannello Unico Per amministratore

    Allora per i pannelli uso come layout un cardlayout.

    Nella vista faccio 3 metodi

    1. schermoLogin

    2 schermoPrincipale
    
    public void schermoPrincipale() {
            PannelloPrincipale pp = (PannelloPrincipale) this.getSottoViste(Costanti.PANNELLO_PRINCIPALE);
            PannelloLogin pl = (PannelloLogin) this.getSottoViste(Costanti.PANNELLO_LOGIN);
            JScrollPane scroll = new JScrollPane(pp);
            JScrollPane scroll2 = new JScrollPane(pl);
            this.getContentPane().add(pp);
            this.getContentPane().remove(pl);
            pp.aggiornaComboCarte();
            pp.inizializzaPannelloSupermercato();
            this.pack();
            this.setLocationRelativeTo(null);
            this.setVisible(true);
        }
    
    3. schermoAmministratore
    
    public void schermoAmministratore() {
            FinestraModificaClienti fmc = (FinestraModificaClienti) this.getSottoViste(Costanti.FINESTRA_MODIFICA_CLIENTI);
            PannelloAmministratore pa = (PannelloAmministratore) this.getSottoViste(Costanti.PANNELLO_AMMINISTRATORE);
            PannelloLogin pl = (PannelloLogin) this.getSottoViste(Costanti.PANNELLO_LOGIN);
            JScrollPane scroll = new JScrollPane(pa);
            JScrollPane scroll2 = new JScrollPane(pl);
            this.getContentPane().add(pa);
            this.getContentPane().remove(pl);
            pa.aggiornaPannello();
            fmc.inizializzaCampi();
            this.pack();
            this.setLocationRelativeTo(null);
            this.setVisible(true);
        }
    
    nel costruttore della vista chiamo il metodo schermoLogin

    la mia azione login è questa(Ancora non ho scritto il codice per far si che rimuova il pannelloLogin ed aggiunga quello Amministratore)
    
    public void actionPerformed(ActionEvent e) {
            logger.info("\nEffettuo il Login\n" + "Classe:" +" " + this.getClass().getName()+"\n");
            PannelloLogin pl = (PannelloLogin) this.applicazione.getVista().getSottoViste(Costanti.PANNELLO_LOGIN);
            String username = pl.getUsername();
            String password = pl.getPassword();
            Modello modello = this.applicazione.getModello();
            Banca banca = (Banca) this.applicazione.getModello().getBean(Costanti.BANCA);
            String errori = convalidaDati(banca, username, password);
            if (!errori.isEmpty()) {
                pl.finestraErrore("ATTENZIONE", errori);
                return;
            }
            PannelloPrincipale pp = (PannelloPrincipale) this.applicazione.getVista().getSottoViste(Costanti.PANNELLO_PRINCIPALE);
            Cliente c = banca.getCliente(username);
            modello.putBean(Costanti.CLIENTE, c);
            applicazione.abilitaAzione(Costanti.AZIONE_LOGOUT);
            applicazione.abilitaAzione(Costanti.AZIONE_VISUALIZZA_FINESTRA_AGGIUNGI);
            applicazione.abilitaAzione(Costanti.AZIONE_VISUALIZZA_FINESTRA_MODIFICA);
            applicazione.abilitaAzione(Costanti.AZIONE_VISUALIZZA_FINESTRA_OPERAZIONI);
            applicazione.abilitaAzione(Costanti.AZIONE_ELIMINA_CARTA);
            applicazione.getVista().schermoPrincipale();
        }
        
        private String convalidaDati(Banca banca, String user, String password) {
            Cliente c = banca.getCliente(user);
            String errori = "";
            if( user.equals("")) {
                errori += " Il Campo User Non Può Essere Vuoto";
            }else if (c == null) {
                errori += "Utente inesistente";
            } else if (!c.getPassword().equals(password)) {
                errori += "Password scorretta";
    
            }
            return errori;
        }
    
    
    Ho una lista di utenti con nome, cognome c.f. ecc, volevo assegnarli un ruolo. Ad esempio utente semplice o amministratore. ovviamente l'amministratore può fare delle cose l'utente semplice no.

    I dati per il momento li carico dalla persistenza.
Devi accedere o registrarti per scrivere nel forum
2 risposte