Impostare user e password

di il
10 risposte

Impostare user e password

Buonasera ho 2 problemi,
vorrei sapere come impostare user e password per accedere ad una applicazione.
praticamente ho una JDialog con user e password però vorrei che al primo accesso sia l'utente a impostare questi 2 parametri in modo che per futuri accessi inserisca quelli salvati la prima volta.....

secondo problema sapete dirmi come posso chiudere sia la finestra padre sia la dialog premendo la x della dialog

10 Risposte

  • Re: Impostare user e password

    Potesti usare delle finestre di input per l'inserimento di user e password, ad esempio una JOptionPane di input
  • Re: Impostare user e password

    Però come posso rendere persistente i valori inseriti la prima volta??
  • Re: Impostare user e password

    ant ha scritto:


    però come posso rendere persistente i valori inseriti la prima volta??
    Quindi il tuo dubbio/problema è relativo a come/dove memorizzare questi dati per i successivi avvii della applicazione?

    Per salvare dati "persistenti" hai svariate possibilità:
    - database (client-server o embedded), se già ne usi uno.
    - file binario o testuale, magari localizzato in una directory facilmente rintracciabile (es. la "home" dell'utente o più sotto).
    - la Preference API di Java (vedi package java.util.prefs).

    Per il fatto che i dati sono username/password quindi "sensibili", se vuoi nasconderli un pochino puoi cifrare i dati con approcci che vanno dai più banali/blandi ai più sofisticati con la API della Security.
  • Re: Impostare user e password

    Grazie per la risposta, effettivamente uso un database (mysql) secondo lei la connessione è giusto farla all'avvio dell'applicazione... cioè quando si preme il tasto accedi della dialog in primo luogo ci si connette al database 'poi se user e password sono corretti accedere all'applicazione, in questo modo mi connetto solo una volta al db,senza dover ogni volta che eseguo uno statement o resultset connettermi
  • Re: Impostare user e password

    ant ha scritto:


    grazie per la risposta, effettivamente uso un database (mysql) secondo lei la connessione è giusto farla all'avvio dell'applicazione... cioè quando si preme il tasto accedi della dialog in primo luogo ci si connette al database 'poi se user e password sono corretti accedere all'applicazione, in questo modo mi connetto solo una volta al db,senza dover ogni volta che eseguo uno statement o resultset connettermi
    Ma username/password che chiedi all'utente sono quelli per la connessione a MySQL oppure sono credenziali gestite/autenticate a livello applicativo tramite magari una tabella su DB es. Utenti?
    Sono due cose differenti.
  • Re: Impostare user e password

    No sono i dati per accedere all'applicazione i dati di accesso al database gli gestisco con un Properties
  • Re: Impostare user e password

    ant ha scritto:


    no sono i dati per accedere all'applicazione i dati di accesso al database gli gestisco con un Properties
    Se allora sono credenziali gestite a livello applicativo, magari autenticate con dati su DB .... è ovvio che per controllarle devi accedere al DB. La (prima) connessione al DB puoi farla poco prima di chiedere username/password all'utente, oppure solo dopo che l'utente ha confermato username/password.
  • Re: Impostare user e password

    Grazie per l aiuto, volevo chiederti una cosa riguardo la connessione al database diciamo per una questione di efficienza... va bene che mi connetta al db quando si accede all'applicazione, poi si chiude la connessione quando si esce dall'applicazione?

    oppure devo connettermi ogni volta,cioè per inserire qualcosa nel db mi connetto uso PreparedStatement e poi chiudo la connessione, voglio cancellare qualcosa nel db quindi riapro la connessione cancello e richiudo ecc....
  • Re: Impostare user e password

    ant ha scritto:


    grazie per l aiuto, volevo chiederti una cosa riguardo la connessione al database diciamo per una questione di efficienza... va bene che mi connetta al db quando si accede all'applicazione, poi si chiude la connessione quando si esce dall'applicazione?

    oppure devo connettermi ogni volta,cioè per inserire qualcosa nel db mi connetto uso PreparedStatement e poi chiudo la connessione, voglio cancellare qualcosa nel db quindi riapro la connessione cancello e richiudo ecc....
    (nota: parliamo ovviamente dell'uso diretto di JDBC)
    Innanzitutto dipende da quante java.sql.Connection ti servono. Nelle applicazioni web server-side, che possono ricevere molte request concorrenti, generalmente si tende ad usare dei "connection pool", un insieme di Connection preistanziate che vengono riusate/riciclate continuamente. Mentre invece nelle applicazioni "desktop" le cose possono essere ben diverse e potrebbe bastare anche una sola Connection.

    Tieni presente che creare una Connection è una operazione potenzialmente e generalmente "costosa", che richiede risorse. Su certi DBMS di un certo livello (es. Oracle) ogni connessione porta alla creazione di un nuovo processo nel sistema, che richiede quindi memoria, CPU, file, ecc...
    Se poi la macchina dove risiede il DBMS è sulla rete (anche locale) ... ancora peggio perché ci sono tutte le risorse e le tempistiche relative al networking.

    Pertanto le Connection sono da creare e tenere in modo molto oculato. Creare una Connection solo per eseguire 1 statement, poi chiudere la Connection, crearne un'altra, ecc... non è certo la scelta più oculata che si possa fare ma bisognerebbe anche vedere ogni quanto devi eseguire statement e per cosa.
  • Re: Impostare user e password

    Grazie mille
Devi accedere o registrarti per scrivere nel forum
10 risposte