Seite 1 von 2

Rechteproblem, HILFE!, Wir wissen nicht mehr weiter!

Verfasst: 31.07.2011 18:04
von Truelli
Liebe Community, liebe Entwickler, liebe Administratoren

Wir sind ein Deutsches Online Chatrollenspiel und wir benutzen seit über 10 Jahren ein phpBB Forum für unsere Spielergemeinschaft. Doch nun stehe ich und mein Adminteam geschlossen vor einem Problem, welches wir nicht gelöst bekommen. Wir verstehen es einfach nicht.

Kurz ein paar Kenndaten, bevor ich unser Problem schildere:

PhpBB Version: 3.0.4
Style: Selbsterstellt
Domain: http://www.wingcommander.de

Das phpBB3-Forum mit Templatesystem ist die Basis für unsere Website. Allerdings haben wir eine sehr große Website mit vielen hundert weiteren Seiten dazuprogrammiert, denn das Forum ansich ist nur ein Teil dessen, was wir für unser Spiel brauchen. Bisher hatten wir einen eigenen Administrator, der sich nur um die Rechtevergabe der dazuprogrammierten Seiten gekümmert hat. Hierzu hat er das phpBB3 System verwendet, das uns in die Lage versetzte, komfortabel unseren Benutzern Seitenrechte per Gruppen zu ermöglichen. Das alles hat super geklappt, bis uns der Adminsitrator vor 4 Wochen verlassen hat. Nun müssen wir anderen Administratoren uns dem Thema Rechteverwaltung annehmen und da wir stetig weiterentwickeln und neue Seiten produzieren, benötigen wir auch neue Gruppen und neue Rechte für die Seiten und die Gruppenmitglieder.

Doch zum Probelm:
Wir haben eine Seite programmiert, die nur für Mitglieder einer bestimmten Gruppe editierbar/sichtbar sein soll. Ich habe die Seite also programmiert und am Schluss habe ich die foglenden Schritte durchgeführt, um diese mit "Rechten" zu versehen.

1. Ich habe per Hand in der Tabelle phpBB3_acl_options folgenden Eintrag vorgenommen (j_a3_traegerbudget):
[ externes Bild ]
Das j_ ist von uns separat als Berechtigungsmodul eingerichtet und funktioniert in 300 anderen Fällen perfekt.

2. ich habe in den language-Dateien /language/de/acp/phpbb_permissions den Eintrag vorgenommen, damit Berechtigungen im Adminpanel gesetzt werden können:
[ externes Bild ]

3. Ich habe eine Gruppe erstellt und ein Mitglieder darin aufgenommen. Dieser Gruppe habe ich das Recht gegeben, welches ich in den Schritten 1 und 2 konfiguriert habe:
[ externes Bild ]

Was wir auch machen, wenn wir dieses Recht abfragen wollen, ist es immer 0 (false). Ein Analog abgefragtes Recht (bevor unser Admin uns verließ) funktioniert und es ist exakt genauso eingegeben worden. Seht hier:
http://www.wingcommander.de/jump/test.php

Abfragen tun wir das Recht so wie es der Quellcode der Datei oben im Link:

Code: Alles auswählen

<?php
define('IN_PHPBB', true);
$phpbb_root_path = '../';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.'.$phpEx);
$auth = new auth();
$auth->acl($user->data); 
echo "j_a3_traegerbudget: ".$auth->acl_get('j_a3_traegerbudget')."<br>";
echo "j_a3_traegerbudgetverwaltung: ".$auth->acl_get('j_a3_traegerbudgetverwaltung')."<br>";
echo "j_a2_personaldatenbank: ".$auth->acl_get('j_a2_personaldatenbank')."<br>";
echo "j_a3_maps: ".$auth->acl_get('j_a3_maps')."<br>";
?>
Natürlich haben wir den Cache nach dem Eintragen der neuen acl_option gelöscht, sowieso machen wir das beim Entwickeln regelmäßig.

Dann gibt es noch im Administrationspanel einen Bereich, wo man sich die Benutzerberechtigungen anzeigen und verfolgen lassen kann. Der sieht bei uns so aus:
[ externes Bild ]

Das uns das Recht für das "traegerbudget" hier nicht zusteht ist genau unser Problem. Abgesehen davon, dass wir uns wundern, warum es uns nicht zusteht (wir haben ja eigentlich alles richtig gesetzt) finden wir es noch merkwürdiger, dass die Verfolgung der Rechte (ein Feature vom phpBB3) dann trotzdem was anderes ergibt, siehe hier:
[ externes Bild ]

Haben wir irgendwo etwas vergessen? irgend einen Cache von dem wir nichts wissen vergessen zu löschen, oder fragen wir das Recht falsch ab? Wir wissen nicht mehr weiter!

Liebe Community, Ihr seid unsere letzte Hoffnung, unseren Fehler zu finden!

Liebe Grüße
Truelli

Re: Rechteproblem, HILFE!, Wir wissen nicht mehr weiter!

Verfasst: 31.07.2011 18:29
von gloriosa
Hallo,
dazu
Truelli hat geschrieben:Haben wir irgendwo etwas vergessen?
die Anmerkung, das inzwischen phpBB 3.0.9 aktuell ist und ihr zuerst einmal gemäß der >>> KB:182 <<< vorgehen solltet. :wink:

Re: Rechteproblem, HILFE!, Wir wissen nicht mehr weiter!

Verfasst: 31.07.2011 18:58
von Truelli
Ja, da hast Du recht... das steht auf unserer TODO Liste weit oben.

Habt Ihr eine Idee für unser aktuelles Problem?

Re: Rechteproblem, HILFE!, Wir wissen nicht mehr weiter!

Verfasst: 31.07.2011 20:09
von Elsensee
Oh, k**** sind das viele Gruppen. :o

Zu eurem Abfrage-Problem:
Hier vergesst die Session auszulesen/zu starten. Der Code müsste wie folgt lauten:

Code: Alles auswählen

<?php
define('IN_PHPBB', true);
$phpbb_root_path = '../';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.'.$phpEx);
$user->session_begin(); // Diese Zeile ersetzt $auth = new auth() da $auth; bereits erstellt wurde
$auth->acl($user->data);
echo "j_a3_traegerbudget: ".$auth->acl_get('j_a3_traegerbudget')."<br>";
echo "j_a3_traegerbudgetverwaltung: ".$auth->acl_get('j_a3_traegerbudgetverwaltung')."<br>";
echo "j_a2_personaldatenbank: ".$auth->acl_get('j_a2_personaldatenbank')."<br>";
echo "j_a3_maps: ".$auth->acl_get('j_a3_maps')."<br>";
?>

Re: Rechteproblem, HILFE!, Wir wissen nicht mehr weiter!

Verfasst: 31.07.2011 20:31
von Truelli
Hallo!

Danke für Deine Antwort, wir sind jedem Tipp sehr dankbar!

Ich habe in der test.php jetzt folgenden Code stehen:

Code: Alles auswählen

<?php
define('IN_PHPBB', true);
$phpbb_root_path = '../';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.'.$phpEx);
//$auth = new auth();

$user->session_begin(); 
$auth->acl($user->data); 
echo "j_a3_traegerbudget: ".$auth->acl_get('j_a3_traegerbudget')."<br>";
echo "j_a3_traegerbudgetverwaltung: ".$auth->acl_get('j_a3_traegerbudgetverwaltung')."<br>";
echo "j_a2_personaldatenbank: ".$auth->acl_get('j_a2_personaldatenbank')."<br>";
echo "j_a3_maps: ".$auth->acl_get('j_a3_maps')."<br>";
?>
Leider wird j_a3_traegerbudget nach wie vor mit "0" ausgegeben :-(

Das schien also nicht der einzige Fehler zu sein...

Liebe Grüße
Truelli

Re: Rechteproblem, HILFE!, Wir wissen nicht mehr weiter!

Verfasst: 01.08.2011 15:51
von Truelli
Hallo zusammen,

Das Problem bleibt hartnäckig!

Ich habe natürlich weiter nach Antworten gesucht und bin auf folgenden Thread gestoßen. hier hat jemand das gleiche Problem wie ich und mich würde interessieren, ob dieser Bug eventuell in den letzten Versionsupdates von phpBB3 behoben wurde?

Leider sieht es nicht so aus, als ob er eine Lösung gefunden hat, oder ich verstehe nicht alle zusammenhänge, da es ja auch auf englisch ist.

Bitte helft uns und schaut Euch mal folgenden Thread an:

http://www.phpbb.com/community/viewtopi ... &p=4983625

Liebe Grüße
Truelli

Re: Rechteproblem, HILFE!, Wir wissen nicht mehr weiter!

Verfasst: 01.08.2011 22:30
von Mahony
Hallo
Ein NIE überschreibt sämtliche anderen Rechte. Wenn also bei einem Mitglied die Berechtigung auf NIE eingestellt ist, dann wird damit auch die Gruppenberechtigung überschrieben. Ihr solltest also das NIE bei den Betroffenen Mitgliedern auf ein NEIN ändern - somit sollten dann wieder die Gruppenberechtigungen greifen.

siehe dazu auch KB:rechtesystem


Grüße: Mahony

Re: Rechteproblem, HILFE!, Wir wissen nicht mehr weiter!

Verfasst: 01.08.2011 23:34
von Truelli
Hallo ;-)

es ist bei keinem Mitglied ein Nie gesetzt, was man in der Rechteverfolgung auch sehen kann. (letztes Bild im ersten Post) Abgesehen davon befindet sich nur mein Username in der Gruppe, die das Recht besitzen sollte.

Ich bin schon dabei zu prüfen, wie sich das cache Array zusammen setzt, weil der Kollege (siehe Link zum gleichen Problem) damit auch ein Problem hatte. Allerdings komme ich da irgendwie nicht weiter. Wir haben über 360 acl_options, was die Fehlersuche nicht gerade einfacher macht :-(

*verzweifel*

LG
Truelli

Re: Rechteproblem, HILFE!, Wir wissen nicht mehr weiter!

Verfasst: 02.08.2011 00:54
von Mahony
Hallo
Nimm mal testweise die Zahl heraus.
Also anstatt j_a3_traegerbudget nimmst du j_a_traegerbudget und so weiter.

Ansonsten schau auch mal hier http://wiki.phpbb.com/Tutorial.Permissions

Grüße: Mahony

Re: Rechteproblem, HILFE!, Wir wissen nicht mehr weiter!

Verfasst: 02.08.2011 09:56
von Truelli
Hallo,

ich bin dankbar für jeden Tipp...
Wir haben sehr viele Zahlen in unseren Bezeichnugnen und alle funktionierten bisher einwandfrei. Dennoch werde ich es gerne versuchen, denn wir sind verzweifelt ;-)

Die Seite die Du verlinkt hast werde ich heute ebenfalls durchackern, ich gebe Feedback.

Lieben Dank!!!
Truelli