Joomla.it Forum

Non solo Joomla... => Database => Topic aperto da: bobking - 11 Mar 2008, 15:11:51

Titolo: Risolvere problema accesso al backend dopo import utenti
Inserito da: bobking - 11 Mar 2008, 15:11:51
ciao,
apro questo topic in modo anomalo, in un forum purtroppo molto ricco di domande ma aimè parco di risposte.
Ricercando la soluzione ad un problema che mi è capitato non ho mai trovato la risposta, allora smanettando qua e là sono arrivato al dunque.
Problema: dopo una importazione nel db di una lista di utenti provenienti da un mio vecchio forum (in questo caso era snitz) il mio admin di joomla accedeva tranquillamente al frontend ma non più al backend, in quanto la password sembrava apparentemente sbagliata. Questo ovviamente non era possibile, in quanto l'accesso al frontend avveniva senza problemi. Ed a nulla è servito resettare la password nel db alla tabella jos_user.
Spiegazione: le informazioni relative agli utenti non risiedono solo nella tabella jos_user ma anche in

jos_core_acl_aro
jos_core_groups_acl_aro_maps

Un disallineamento dei dati di queste tre tabelle genera esattamente l'errore sopra citato. Vediamo perchè e soprattutto come intervenire. Naturalmente mi riferisco al caso in cui l'utente venga creato manualmente sul db (o, cosa equivalente, importato da un altro db).

Nella tabella jos_user potete scrivere finchè volete che un utente è un superadmin, ma joomla se ne sbatterà bellamente.
In questa tabella ad ogni utente è associato un user_id. Prendete nota dell'id del vostro superadmin che non riesce ad accedere al backend, mettiamo che questo id sia "100".
Ora andate nella tabella jos_core_acl_aro, la terza colonna è il campo value che rappresenta l'id user. Andate a cercare la riga con il valore "100". Ora prendete nota del corrispondente campo nella prima colonna, aro_id (mettiamo che sia "52").
Bene, ora andate nella jos_core_groups_acl_aro_maps, la terza colonna è l'aro_id del vostro superadmin. Verificate ora che nella prima colonna (group_id) il valore corrispondente a "52" sia "25" cioè l'id del gruppo di superadmin.
Se così non è... provvedete! Ed ora il vostro admin non avrà più problemi ad accedere al backend.
Naturalmente il ragionamento si può estendere a casi più complessi, come ad esempio è successo a me. L'importazione di circa 150 utenti aveva generato un disallineamento dei vari id (user, aro e group). Ricompilando a manina le tabelle ho rimesso a posto tutto.

Una variante: se avete installato Community Builder allora dovete verificare anche l'allineamento degli id nella tabella jos_comprofiler (non credo ci sia bisogno di spiegarvi come).

Buon divertimento

bob
Titolo: Re: Risolvere problema accesso al beckend dopo import utenti
Inserito da: filpi5481 - 11 Mar 2008, 17:13:59
ciao bobking per la guida  :)

imposto la discussione su importante sperando che sia di aiuto a tanti altri utenti.

ciao
filpi5481
Titolo: Re: Risolvere problema accesso al backend dopo import utenti
Inserito da: elso1927 - 11 Mar 2008, 19:15:29
grazie mille mi sei stato davvero utile
Titolo: Re: Risolvere problema accesso al backend dopo import utenti
Inserito da: maxtn - 03 Apr 2008, 10:09:50
Ciao, ho fatto l'importazione di utenti facendo attenzione a tutte e tre le tabelle citate.

Come si inserisce la password nel db? se la inserisco così non mi fa accedere:

INSERT INTO jos_users .... password, .....) VALUES (PASSWORD('parola')

credo sia sbagliato perchè guardando le password crittografate nella jos_users quelle inserite dal pannello amministratore di admin sono così:  807ef5a1e33bc35368ea0e53bd0c875f:Zj7UZ9rr23CE0uob
mentre quelle inserite via SQL sono così:  *861F882D43A12E31D6C0E39C4C0A9A75C29A81BA
Titolo: Re: Risolvere problema accesso al backend dopo import utenti
Inserito da: maxtn - 03 Apr 2008, 10:37:39
Ho trovato:

INSERT INTO jos_users .... password, .....) VALUES (...., MD5('parola'), ...)
Titolo: Re:Risolvere problema accesso al backend dopo import utenti
Inserito da: pelojazz - 14 Giu 2010, 10:43:29
Una precisazione che penso possa essere utile anche ad altri.

Nella nuova tabella di joomla 1.5.x jos_core_acl_aro è scomparso l'"aro_id" ed è rimasto genericamente "id".

Se si inserisce di nuovo l'"aro_id" nella tabella jos_core_acl_aro joomla 1.5.x non riconosce poi gli utenti al momento del login, bisogna lasciare l'identificativo "id"...almeno a me così ha funzionato.
Titolo: Re:Risolvere problema accesso al backend dopo import utenti
Inserito da: Diexe - 16 Giu 2010, 09:13:24
Grazie per la giuda, mi è stata utilissima!  :)
Titolo: Re:Risolvere problema accesso al backend dopo import utenti
Inserito da: magnitudox - 30 Dic 2010, 19:49:39
Titolo: Re:Risolvere problema accesso al backend dopo import utenti
Inserito da: roeroelectric - 24 Mar 2011, 13:00:55
Ciao a tutti,
io ho importato in jos_user circa 6.000 utenti ed ora le altre tabelle correlate sono naturalmente disallineate.

E' chiaro che non è possibile andare a modificare le tabelle jos_core_acl_aro e jos_core_acl_groups_aro_map a mano, utente per utente, probabilmente impazzirei prima di arrivare alla fine.

Non esiste una query o una soluzione snella e veloce per far si che tutte queste tabelle siano allineate correttamente tra di loro? 

Grazie