it-swarm-eu.dev

Non è possibile accedere alla sezione privata di questo sito

Su un sito Joomla 3.3.3 che è stato aggiornato dalla 2.5 (ultima versione al momento), stiamo riscontrando alcuni problemi relativi all'accesso degli utenti. Alcuni utenti hanno riferito che dopo la registrazione non sono in grado di accedere e ricevono il seguente avviso Messaggio:

You cannot access the private section of this site.

La cosa strana è che ciò si verifica solo per coloro che stanno provando ad accedere dopo l'aggiornamento.

Prima dell'aggiornamento, usavamo Community Builder come Gestione utenti, quindi ci siamo occupati della registrazione, del login, ecc. Ora lo abbiamo rimosso, insieme ad Akeeba Subs, quindi l'unica estensione che potrebbe avere qualcosa a che fare con questo problema era Kunena 3.0.6.

Dopo aver consultato molti post sul forum sul Web, ho provato quanto segue:

  1. Ricostruisci le categorie nel Gestore categorie tramite il backend Joomla
  2. Garantire che Root Asset nel #__assets table ha un parent_id di 0 e nessun'altra riga ha lo stesso parent_id
  3. Usando lo script AssetFix di @ Elin
  4. Rimozione di tutti gli articoli e le categorie nel cestino, il check-in globale in corso

Per la mia vita non riesco a capire perché questo stia accadendo.

Qualcuno ha avuto questo problema prima e/o conosce una soluzione funzionante per Joomla 3.3?

4
Lodder

Alla fine ho scoperto qual era il problema.

Si è scoperto che dopo la migrazione di Joomla da 2.5 a 3.3, molti dei più recenti registranti non sono stati assegnati al gruppo di utenti "Registered", quindi non avevano alcuna autorizzazione.

Ho finito per eseguire la seguente query MySQL in PhpMyAdmin:

SELECT `id` FROM `jos_users` WHERE `id` NOT IN (SELECT `user_id` FROM `jos_user_usergroup_map`)

che ottiene tutti gli ID utente dalle tabelle users che non appartengono al user_usergroup_map tavolo.

Ho quindi esportato i risultati, aperto il file in un editor di testo e modificato:

INSERT INTO `jos_users` (`id`) VALUES

a

INSERT INTO `jos_user_usergroup_map` (`user_id`, `group_id`) VALUES

Quindi per tutti i valori (98), (99), (100), etc, ho fatto una ricerca e sostituzione di massa, che ha sostituito questo:

),

con questo

, 2)

Questo ora assicura che ci siano 2 argomenti richiesti per le 2 colonne in questa tabella del database. 2 è l'ID predefinito del gruppo utenti "Registrato".

L'ultima riga del file ha un punto e virgola anziché una virgola, quindi la ricerca e la sostituzione di massa non risponderanno a questo. Quindi l'ho semplicemente cambiato manualmente.

Se qualcun altro ha gli stessi problemi, sarò più che felice di pubblicare alcuni screenshot che potrebbero aiutare un po 'di più.

Modificare

La soluzione sopra descritta in una riga:

INSERT INTO `jos_user_usergroup_map` (`user_id`, `group_id`) SELECT `id`, '2' FROM `jos_users` WHERE `id` NOT IN (SELECT `user_id` FROM `jos_user_usergroup_map`);
5
Lodder