Seite 1 von 1

Fehlende Berechtigung

Verfasst: 04.12.2009 22:31
von FuGu
Ich habe von meinem Membern heute erfahren, dass seit ein paar Tagen beim aufrufen von Threads immer wieder die Meldung "Du hast keine Berechtigung, dieses Forum zu lesen" erscheint.
Wenn die User den Thread 3-4 mal aufrufen kommen sie in den Thread rein..

Das taucht auch mit den unterschiedlichsten Browsern auf. Also über FF, Opera IE und Safari.

Ich habe keinerlei Veränderungen an den Berechtigungen vorgenommen. Die letzte Veränderung war das Update auf 3.06.

Re: Fehlende Berechtigung

Verfasst: 04.12.2009 22:48
von gn#36
Leer mal deinen Cache (im ACP), vielleicht ist da was schief. Ich bin mir nicht sicher ob das dann auch die zwischengespeicherten Rechte löscht, aber wenn das Problem weiter besteht kannst du dich ja noch mal melden.

Re: Fehlende Berechtigung

Verfasst: 05.12.2009 08:31
von FuGu
Mein Fehler, habe vergessen vorab zu erwähnen, dass ich den Cache geleert habe und auch die betroffenen User angewiesen habe die Board Cookies sowie die Browser Cookies zu löschen..

Mein Gedanke ist ob sich bei der Rechtevergabe durch das Update auf 3.06 etwas "verstellt" haben könnte. Denn dort sind ja die -kürzlich registirerten Benutzer- hinzugekommen.

Re: Fehlende Berechtigung

Verfasst: 05.12.2009 12:42
von gn#36
Ok, geh' mal in dein KB:phpmyadmin und wirf einen Blick in die Tabelle phpbb_users. Am besten machst du mal ein Backup und probierst dann folgendes aus:
  • Wenn in der Spalte user_permissions was drin steht, dann leere diese Spalte mit diesem Befehl (denk' vorher an das Backup, denn wenn was schief geht dann bist du ansonsten vielleicht Daten los):

    Code: Alles auswählen

    UPDATE phpbb_users SET user_permissions = ''
  • Hilft das nicht, dann dann wirf einen Blick in die Tabelle phpbb_acl_options. Es ist möglich dass hier Fehler drin sind. Als erstes solltest du prüfen ob auf der Spalte auth_option ein UNIQUE Index liegt, jeden Eintrag darf es nämlich nur ein einziges mal geben. Wenn nicht, dann leg diesen Index an und wenn es eine Fehlermeldung gibt weil es bereits doppelte Einträge gibt, dann muss einer der beiden Einträge weg. Alle f_ Rechte müssen hierbei eine 1 bei is_local haben, während alle m_ rechte sowohl is_local als auch is_global sein können und alle a_ Rechte is_global sein sollten (und nicht is_local).
  • Gibt's auch hier keine Probleme dann kann eigentlich nur noch ein Fehler bei den Einträgen der phpbb_acl_groups oder phpbb_acl_roles und phpbb_acl_roles_data vorliegen. Schau mal ob bei irgend einer der folgenden Abfragen Datensätze angezeigt werden, wenn ja poste die Zeilen hier:

    Code: Alles auswählen

    SELECT * FROM phpbb_acl_groups WHERE (auth_role_id = 0 AND auth_setting <> 1) OR (auth_role_id <> 0 AND auth_setting <> 0)
    SELECT * FROM phpbb_acl_users WHERE (auth_role_id = 0 AND auth_setting <> 1) OR (auth_role_id <> 0 AND auth_setting <> 0)
    SELECT * FROM phpbb_acl_roles_data WHERE (auth_setting <> 1)
    SELECT * FROM phpbb_acl_roles WHERE role_type NOT IN ('f_', 'a_', 'm_');
    
  • Wenn auch da nichts auftaucht weiß ich im Moment keinen anderen Rat als die auth Dateien im includes Ordner noch mal neu hochzuladen.
Ach ja, wenn du ein anderes Tabellenpräfix benutzt als phpbb_ dann musst du das natürlich anpassen.

Re: Fehlende Berechtigung

Verfasst: 05.12.2009 14:13
von FuGu
Vielen Dank schon mal... werde mich morgen dran setzen und es ausprobieren.