it-swarm.com.de

Sie können nicht auf den privaten Bereich dieser Website zugreifen

Auf einer Joomla 3.3.3-Site, die von 2.5 (aktuellste Version) aktualisiert wurde, gibt es einige Probleme mit der Benutzeranmeldung. Einige Benutzer haben gemeldet, dass sie sich nach der Registrierung nicht anmelden und die folgende Warnung nicht erhalten können Botschaft:

You cannot access the private section of this site.

Das Seltsame ist, dass dies nur für diejenigen auftritt, die sich nach dem Upgrade anmelden möchten.

Vor dem Upgrade haben wir Community Builder als Benutzerverwaltung verwendet. Daher haben wir uns um Registrierung, Anmeldung usw. gekümmert. Wir haben es jetzt zusammen mit Akeeba Subs entfernt, also die einzige Erweiterung, die Möglicherweise hatte etwas mit diesem Problem zu tun, war Kunena 3.0.6.

Nachdem ich viele Forenbeiträge im Web durchgesehen habe, habe ich Folgendes versucht:

  1. Erstellen Sie die Kategorien im Category Manager über das Joomla-Backend neu
  2. Sicherstellen dass Root Asset in dem #__assets Tabelle hat ein parent_id von 0 und keine anderen Zeilen haben das gleiche parent_id
  3. Verwenden Sie das Skript AssetFix von @ Elin
  4. Entfernen Sie alle Artikel und Kategorien aus dem Papierkorb, und checken Sie global ein

Für das Leben von mir kann ich nicht verstehen, warum das passiert.

Hat jemand dieses Problem schon einmal gehabt und/oder von einer funktionierenden Lösung für Joomla 3.3 gewusst?

4
Lodder

Endlich herausgefunden, worum es ging.

Es stellte sich heraus, dass bei der Migration von Joomla 2.5 auf 3.3 viele der neuesten Registranten nicht der Benutzergruppe "Registered" zugewiesen wurden und daher überhaupt keine Berechtigungen hatten.

Am Ende habe ich die folgende MySQL-Abfrage in PhpMyAdmin ausgeführt:

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

hiermit werden alle Benutzer-IDs aus den users -Tabellen abgerufen, die nicht zur Tabelle user_usergroup_map gehören.

Ich habe dann die Ergebnisse exportiert, die Datei in einem Texteditor geöffnet und geändert:

INSERT INTO `jos_users` (`id`) VALUES

zu

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

Dann habe ich für alle Werte (98), (99), (100), Usw. eine Massensuche durchgeführt und diese ersetzt:

),

mit diesem

, 2)

Dies stellt jetzt sicher, dass es 2 Argumente gibt, die für die 2 Spalten in dieser Datenbanktabelle erforderlich sind. 2 Ist die Standard-ID der Benutzergruppe "Registered".

Die allerletzte Zeile der Datei enthält ein Semikolon anstelle eines Kommas, daher wird das Suchen und Ersetzen von Massen dies nicht berücksichtigen. Also habe ich das einfach manuell geändert.

Wenn jemand die gleichen Probleme hat, werde ich gerne ein paar Screenshots posten, die ein bisschen mehr helfen könnten.

Bearbeiten

Die obige Problemumgehung in einer Zeile:

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