MyBB.de Forum

Normale Version: manuell eingefügte Gruppe -> kein Access
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

wir planen ein Forum anzubieten. Dabei sollten die User/Group Daten von unserer bestehenden Software in das Forum geschrieben werden und die Usern sollten dann mittels Link direkt in das Forum eingelogt werden.

Jetzt habe ich folgendes Problem:
Klickt der neu angelegte User auf den Link, den ihn anmelden soll, kommt folgendes:
Zitat:You do not have permission to access this page. This could be because of one of the following reasons:

1. Your account has either been suspended or you have been banned from accessing this resource.
2. You do not have permission to access this page. Are you trying to access administrative pages or a resource that you shouldn't be? Check in the forum rules that you are allowed to perform this action.
3. Your account may still be awaiting activation or moderation. (Resend Activation Code)
Wenn ich jetzt aber in den ADMIN CP gehe und die gruppe update (ich ändere keine option), dann kann sich der User wieder anmelden. Weiss jemand was sich da genau ändert?
So rein von den datenbank daten tut sich da nach meiner Sicht nichts:
ich habe zum testen jeweils vor und nach dem updaten der gruppe ein backup erstellt und verglichen. Ausser in den tabellen mybb_adminlog, mybb_datacache, mybb_session ändert sich nur noch in der mybb_users lastacive und timeonline. Aber das ist normal.
Hallo sas-001,

Diese Gruppe hatte noch keinerlei Rechte, da der Cache erst neu gebildet werden musste. In den Rechte Array musste erst die neue Gruppe eingetragen werden. Jetzt nachdem du die Rechte der Gruppe neu gespeichert hast, wurde der Cache neu gebildet und die neue Gruppe in das Array eingesetzt.
Hi Garlant,

danke für deine schnelle Antwort.

Was meinst du genau mit dem "Rechte Array" Ist das der elend lange eintrag in der "mybb_datacache" tabelle oder ist das was eigenes in php?
Kann man diesen Cache vielleicht irendwie von extern (einfach) bilden lassen?
Ja dies Sollte der Inhalt in der Tabelle_datacache sein.

Mit Rechte Array meine ich, das die Daten aus der entsprechenden Tabelle in Arrays gesetzt werden. In diesen Array sind dann beispielsweise die Rechte einer jeweiligen Gruppe.

Du kannst den Cache neu bilden, indem du den Folgenden Teil Includen lässt:
PHP-Code:
require "./inc/class_datacache.php";
$cache = new datacache

anschließend würde dies am Ende der Anwendung wie folgt genutzt:
PHP-Code:
$cache->updateusergroups(); 
Oh vielen dank, das bringt mich schon etliches weiter. Aber noch bin ich nicht ganz am Ziel:

Da die externe Software in Java geschrieben ist und ich nicht direkt auf die php Methode drauf zu greifen kann, schrieb ich diese drei Zeilen in ein neues PHP File. Nach dem Aufruf erschien jedoch nur folgende Message:
Zitat:Fatal error: Call to a member function on a non-object in /var/www/forum/inc/class_datacache.php on line 146
Da ich mich in PHP nicht wirklich auskenne, wäre ich um eine Hilfestellung froh.
Ersetze bitte
PHP-Code:
require "./inc/class_datacache.php"
durch
PHP-Code:
require "./global.php"
Hi Michael,

Das mit dem Ersetzen war schon einmal erfolgreich. Da ich aber zur neuen Gruppe auch noch ein neues Forum erstelle + Permissions setze, habe ich das File ein bisschen vergrössert:
PHP-Code:
<?php
require "./global.php";
$cache = new datacache;

$cache->updateusergroups();
$cache->updateforums();
$cache->updateforumpermissions();
?>
Was mir aufgefallen ist, dass ich die Seite mit meinem unregistriertem User gar nicht aufrufen kann. Dieser User verfügt über keine Rechte (darf er auch nicht). Aber troztdem sollte ich den Cache updaten.

Könnt ihr mir da weiterhelfen?
Gibt es vielleicht bei den Userrechten eine spezielle Option, damit er nur diesen Chache updaten kann und nicht gleich das Forum betrachten kann?
Eine solche Option gibt es nicht. Vielleicht lassen sich die Funktionen an deinen Gebrauch entsprechend anpassen, diese findest du in der Datei inc/class_datacache.php. Allerdings müsstest du auf jeden Fall unregistrierten Benutzern die Aktualisierung der Caches gestatten und das wäre nicht im Sinne der Funktionen.
So, hab es hinbekommen. Ich habe dem unregistriertem User einfach "view Board" Rechte erteilt. Dafür muss ich jetzt einfach bei neuen Foren dem User jeweils die Rechte entziehen.

Ich möchte mich nur noch bedanken für diese schnellen und nützlichen Antworten. Wirklich ein sehr empfehlenswertes Forum.
Danke!