Page 1 of 3

Gruppenrechte im Backend

Posted: Thu Jan 21, 2016 12:39 pm
by moonchild
Hallo zusammen,
ich komme mit den Gruppenberechtigungen nicht weiter. Eine bestimmte Benutzergruppe bzw. deren einzelne Benutzer soll nur eigene Beiträge, Medien erstellen und bearbeiten können und auch nur die Kommentare auf eigene Beiträge bearbeiten können. Diese Berechtigungen habe ich meiner Meinung nach auch eingestellt. Denoch tauchen wie im Screenshot (Text ist anonymisiert, nicht wundern) sichtbar, Kommentare und (zukünftige) Beiträge anderer Benutzer auf. Kann mir jemand einen Tipp geben, wo ich ansetzen muss?
Ashampoo_Snap_2016.01.21_11h58m41s_001_.jpg
Ashampoo_Snap_2016.01.21_11h58m41s_001_.jpg (139.1 KiB) Viewed 4348 times

Re: Gruppenrechte im Backend

Posted: Thu Jan 21, 2016 1:11 pm
by yellowled
moonchild wrote:Denoch tauchen wie im Screenshot (Text ist anonymisiert, nicht wundern) sichtbar, Kommentare und (zukünftige) Beiträge anderer Benutzer auf.
Blöde Frage, weil es Dir so gar nicht weiter hilft, aber ist das nur im Dashboard so oder auch im Rest des Backends?

YL

Re: Gruppenrechte im Backend

Posted: Thu Jan 21, 2016 1:37 pm
by moonchild
Hallo YL,
yellowled wrote: Blöde Frage, weil es Dir so gar nicht weiter hilft, aber ist das nur im Dashboard so oder auch im Rest des Backends?
Nur im Dashboard.

Re: Gruppenrechte im Backend

Posted: Thu Jan 21, 2016 2:43 pm
by yellowled
moonchild wrote:Nur im Dashboard.
Dann liegt die Vermutung nahe, dass die Berechtigungen per se ganz wunderbar funktionieren und nur im Dashboard falsch angezeigt werden. Das wäre dann ein Bug im Dashboard (was angesichts der Tatsache, dass es neu in 2.0 ist, nicht komplett abwegig wäre), kein Fehler Deinerseits.

Das müsste onli sich mal ansehen.

YL

Re: Gruppenrechte im Backend

Posted: Fri Jan 22, 2016 12:49 pm
by onli
https://github.com/s9y/Serendipity/blob ... nc.php#L66 ist der relevante Code, hier werden Kommentare und danach Einträge fürs Dashboard geholt. Tatsächlich wird da schlicht nicht gefiltert, es ist nicht dein Fehler.

Trotzdem sollten die Einträge und Kommentare nicht bearbeitbar sein, das wird ja später nochmal geprüft, richtig? Aber ich verstehe schon, dass zumindest zukünftige Einträge anderer Nutzer da nicht hingehören, auch nicht auszugsweise.

Ich bin da leider überhaupt nicht drin. Ich werde ein Issue auf Github aufmachen und hoffe, dass Garvin das mit links erledigen kann. Ansonsten müsste ich mich reinwühlen. ich sehe z.B. gerade gar nicht, wie die Eintrags- und Kommentarsübersicht das machen, müsste also zum einen die Situation nachstellen um das richtige Verhalten zu erkennen und dann die Abfragen im Code finden.

Re: Gruppenrechte im Backend

Posted: Fri Jan 22, 2016 12:50 pm
by onli

Re: Gruppenrechte im Backend

Posted: Fri Jan 22, 2016 12:58 pm
by yellowled
onli wrote:Trotzdem sollten die Einträge und Kommentare nicht bearbeitbar sein, das wird ja später nochmal geprüft, richtig? Aber ich verstehe schon, dass zumindest zukünftige Einträge anderer Nutzer da nicht hingehören, auch nicht auszugsweise.
Grundsätzlich könnte man natürlich Benutzern auch Einträge, die sie nicht bearbeiten dürfen, und Kommentare zu diesen Einträgen anzeigen und eben die Interaktionsmöglichkeiten (Buttons) entsprechend der Berechtigungen unterdrücken. Aber das verwirrt den Nutzer eher.

Vor allem aber, und da kann ich bin leider nicht viel sagen da ich mangels eigenem Bedarf in Multiuser-Blogs viel zu wenig in der ganzen Berechtigungsgeschichte drin bin, sollte es konsistent zur Anzeige dieser Einträge und Kommentare im restlichen Backend sein.

YL

Re: Gruppenrechte im Backend

Posted: Fri Jan 22, 2016 1:19 pm
by moonchild
Hallo zusammen,
vielen Dank, Onli. Die Einträge könenn nicht durch die User bearbeitet werden, aber wie YL schreibt, verwirrt das einige Leute halt.
onli wrote:https://github.com/s9y/Serendipity/blob ... nc.php#L66 ist der relevante Code, hier werden Kommentare und danach Einträge fürs Dashboard geholt. Tatsächlich wird da schlicht nicht gefiltert, es ist nicht dein Fehler.

Trotzdem sollten die Einträge und Kommentare nicht bearbeitbar sein, das wird ja später nochmal geprüft, richtig? Aber ich verstehe schon, dass zumindest zukünftige Einträge anderer Nutzer da nicht hingehören, auch nicht auszugsweise.

Ich bin da leider überhaupt nicht drin. Ich werde ein Issue auf Github aufmachen und hoffe, dass Garvin das mit links erledigen kann. Ansonsten müsste ich mich reinwühlen. ich sehe z.B. gerade gar nicht, wie die Eintrags- und Kommentarsübersicht das machen, müsste also zum einen die Situation nachstellen um das richtige Verhalten zu erkennen und dann die Abfragen im Code finden.

Re: Gruppenrechte im Backend

Posted: Fri Jan 22, 2016 2:30 pm
by yellowled
moonchild wrote:Die Einträge könenn nicht durch die User bearbeitet werden, aber wie YL schreibt, verwirrt das einige Leute halt.
Zur Sicherheit und Informationssammlung – das bedeutet aber, die Aktionsbuttons (z.B. Bearbeiten, Löschen usw.) werden schon entsprechend der Berechtigungen bzw. eben nicht angezeigt?

YL

Re: Gruppenrechte im Backend

Posted: Fri Jan 22, 2016 2:36 pm
by Timbalu
Du könntest ja mal versuchen, in dem du die genannte query durch diese hier ersetzt:

Code: Select all

   "SELECT c.*, e.title, a.email as authoremail, a.mail_comments
      FROM {$serendipity['dbPrefix']}comments c
 LEFT JOIN {$serendipity['dbPrefix']}entries e ON (e.id = c.entry_id)
 LEFT JOIN {$serendipity['dbPrefix']}authors a ON (e.authorid = a.authorid)
  ORDER BY c.id DESC LIMIT " . (int)$serendipity['dashboardCommentsLimit']);
ob das nur die comments für Einträge des gewünschten Users liefert.
Ansonsten wohl müsste man comments im Dashboard nur per Adminansicht erlauben.

Re: Gruppenrechte im Backend

Posted: Fri Jan 22, 2016 4:03 pm
by moonchild
Hallo YL,
yellowled wrote:Zur Sicherheit und Informationssammlung – das bedeutet aber, die Aktionsbuttons (z.B. Bearbeiten, Löschen usw.) werden schon entsprechend der Berechtigungen bzw. eben nicht angezeigt?
Die sichtbaren Buttons siehst Du in dem Screenshot im OP. Es passiert halt nichts. Was aber zur weiteren Verwirrung beiträgt 8-)

Re: Gruppenrechte im Backend

Posted: Fri Jan 22, 2016 4:08 pm
by moonchild
Hallo Ian,
sorry, ich habe keinerlei Ahnung, wo in dem Code ich das ersetzen soll... :roll:

Kannst Du den kompletten Code posten, ich würde es dann testen.
Timbalu wrote:Du könntest ja mal versuchen, in dem du die genannte query durch diese hier ersetzt:

Code: Select all

   "SELECT c.*, e.title, a.email as authoremail, a.mail_comments
      FROM {$serendipity['dbPrefix']}comments c
 LEFT JOIN {$serendipity['dbPrefix']}entries e ON (e.id = c.entry_id)
 LEFT JOIN {$serendipity['dbPrefix']}authors a ON (e.authorid = a.authorid)
  ORDER BY c.id DESC LIMIT " . (int)$serendipity['dashboardCommentsLimit']);
ob das nur die comments für Einträge des gewünschten Users liefert.
Ansonsten wohl müsste man comments im Dashboard nur per Adminansicht erlauben.

Re: Gruppenrechte im Backend

Posted: Fri Jan 22, 2016 4:41 pm
by Timbalu
Du suchst /include/admin/overview.inc.php in deiner Serendipity Installation:
Gehst zu Zeile 55, so wie hier:
https://github.com/s9y/Serendipity/blob ... nc.php#L55

Ersetze die Zeilen 55-57

Code: Select all

$comments = serendipity_db_query("SELECT c.*, e.title FROM {$serendipity['dbPrefix']}comments c
                                    LEFT JOIN {$serendipity['dbPrefix']}entries e ON (e.id = c.entry_id)
                                    ORDER BY c.id DESC LIMIT 5");
mit diesem Block

Code: Select all

$comments = serendipity_db_query("SELECT c.*, e.title, a.email as authoremail, a.mail_comments
      FROM {$serendipity['dbPrefix']}comments c
 LEFT JOIN {$serendipity['dbPrefix']}entries e ON (e.id = c.entry_id)
 LEFT JOIN {$serendipity['dbPrefix']}authors a ON (e.authorid = a.authorid)
  ORDER BY c.id DESC LIMIT 5");
Dann speicherst du und kannst beim nächsten Aufruf als Redakteur X sehen ob Kommentare für dich im Dashboard da sind. (Gut wäre es, wenn es überhaupt ein paar unredigierte Comments zum testen gäbe, mit unterschiedlichen User entries natürlich.)

Re: Gruppenrechte im Backend

Posted: Fri Jan 22, 2016 4:55 pm
by moonchild
Erledigt. Und eben als der betreffende Benutzer eingeloggt. Alles wie gehabt, d.h. alles wie oben sichtbar.
Timbalu wrote:Du suchst /include/admin/overview.inc.php in deiner Serendipity Installation:
Gehst zu Zeile 55, so wie hier:
https://github.com/s9y/Serendipity/blob ... nc.php#L55

Ersetze die Zeilen 55-57

Code: Select all

$comments = serendipity_db_query("SELECT c.*, e.title FROM {$serendipity['dbPrefix']}comments c
                                    LEFT JOIN {$serendipity['dbPrefix']}entries e ON (e.id = c.entry_id)
                                    ORDER BY c.id DESC LIMIT 5");
mit diesem Block

Code: Select all

$comments = serendipity_db_query("SELECT c.*, e.title, a.email as authoremail, a.mail_comments
      FROM {$serendipity['dbPrefix']}comments c
 LEFT JOIN {$serendipity['dbPrefix']}entries e ON (e.id = c.entry_id)
 LEFT JOIN {$serendipity['dbPrefix']}authors a ON (e.authorid = a.authorid)
  ORDER BY c.id DESC LIMIT 5");
Dann speicherst du und kannst beim nächsten Aufruf als Redakteur X sehen ob Kommentare für dich im Dashboard da sind. (Gut wäre es, wenn es überhaupt ein paar unredigierte Comments zum testen gäbe, mit unterschiedlichen User entries natürlich.)

Re: Gruppenrechte im Backend

Posted: Fri Jan 22, 2016 5:37 pm
by yellowled
moonchild wrote:Die sichtbaren Buttons siehst Du in dem Screenshot im OP. Es passiert halt nichts. Was aber zur weiteren Verwirrung beiträgt 8-)
Sorry, ich vergesse immer, dass Screenshots hier eventuell in der größeren Ansicht mehr zeigen. Gut, das geht natürlich gar nicht, wenn die Buttons zwar da, aber nicht funktional sind und auch kein Feedback geben, warum sie nicht funktional sind.

YL