2
« il: 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