Newsgroup: it.comp.lang.vo-clipper
Titolo: ancora mySql e gestione utenti...

Ancora non mi è chiara la procedura corretta di gestione per l'archivio
utenti di mysql
Se io creo un utente senza password, con i relativi privilegi, tutto va
bene. Ma se ne creo uno assegnandogli una password qualunque, questa viene
memorizzata in modo criptato.
Domanda: come si fa a recuperare il valore della password, visto che non si
può decriptare?
Se io ho un utente PIPPO con password PLUTO, quando devo accedere a mySql
devo ovviamente controllare, una volta selezionato l'utente PIPPO, che la
password inserita per l'accesso sia PLUTO, ma non potrà mai essere uguale
perchè mysql non mi restituisce la stringa PLUTO, ma una stringa del tipo
2fc07c5646c2bb5d, ovviamente non corrispondente.
Mi piacerebbe sapere come fate voi a controllare gli accessi........
Ciao e buon lavoro.
                                                        Francesco

 ha scritto nel messaggio
news:bpkpes$627$1...@grillo.cs.interbusiness.it...



Appunto, il problema č proprio quello. Per dare o meno il consenso
all'accesso, devo verificare che la password sia corretta. Quando l'utente
digita la password devo fare un confronto con quella contenuta nella tabella
user di mysql. A questo punto nasce il problema perchč anche se l'utente ha
digitato la password giusta la stringa che mi viene restiuita dalla query
sul campo password NON E' pluto come dovrebbe ma una stringa cryptata.
Credo che alla fine opterň per la soluzione piů logica e cioč accesso unico
a mysql ed accesso condizionato al programma.............
Ciao.
                                                                Francesco

 all'accesso, devo verificare che la password sia corretta.
No, non hai capito: se tenti di accedere ad un database specificando
userid o password errati è il sistema che ti dà un errore e rifiuta
l'accesso. Tu devi solo intercettare tale errore. In VB si farebbe con
l'istruzione On Error, in Clipper con la struttura BEGIN SEQUENCE/END
SEQUENCE o con l'ErrorBlock, in VO non ti so dire.
EMG
--
EMAG Software Homepage:     
http://www.emagsoftware.it
The EMG's ZX-Spectrum Page: 
http://www.emagsoftware.it/spectrum
The Best of Spectrum Games: 
http://www.emagsoftware.it/tbosg


Scusa ma sei tu che non hai capito il problema.
Non è la password inserita che è errata, ma è mySql che la cripta rendendonr
impossibile l'identificazione per poter effettuare il confronto.
Vediamo se riesco ad essere più chiaro:
1) L'utente seleziona il proprio nome dall'elenco: PIPPO.
2) L'utente inserisce la password: PLUTO.
3) Il programma cerca di fare un confronto tra la password inserita, PLUTO,
e quella memorizzata nel database. Problema: la password QUANDO E' STATA
INSERITA ERA PLUTO, ma quando viene restituita è criptata e quindi il
confronto fallisce per forza poichè non si riesce a decriptare per fare un
semplice confronto cStringaPassword = cCampoPassword.
Capito ora?
                                                    Francesco

 Capito ora?
Avevo già capito prima. Il tuo programma non deve fare nessun confronto.
Semplicemente fornisci al motore userid e password ed è il motore che si
occupa di controllare, e il motore sa come decrittare la password.


 ha scritto nel messaggio
news:bpkpes$627$1...@grillo.cs.interbusiness.it...


 ha scritto nel messaggio
news:bpkpes$627$1...@grillo.cs.interbusiness.it...


 Ciao, Antonio
Ciao Antonio, anche io farei volentieri cosě, ma quando tento di accedere
con la password mysql mi rifiuta l'accesso per password errata, mentre se
accedo senza password tutto va bene. Devo presupporre che non interpreti
bene la password, visto che non riesco a leggerla in chiaro?
Ciao e grazie.
                                                            Francesco

                                                             Francesco
Se questo č il problema, ti consiglio di verificare l'impostazione delle pw,
deve esserci qualcosa che non va, di solito una sciocchezza. Per verificare,
ti consiglio MySqlFront che č un ottimo programma freeware con il quale puoi
accedere a MySql e verificare dati e accessi. Ti confermo che normalmente se
accedi a MySql con una password in chiaro, il motore la confronta con quella
memorizzata (decrittata) e se coincidono, ti connette.
Ciao, Antonio