contao / core

Contao 3 → see contao/contao for Contao 4
GNU Lesser General Public License v3.0
492 stars 213 forks source link

Benutzerrechte für neues Nachrichtenarchiv wird nicht richtig gesetzt #8583

Closed Xendiadyon closed 7 years ago

Xendiadyon commented 7 years ago

Ich habe einen Redakteurbenutzer, der neue Newsarchive anlegen darf. Wünschenswert ist, dass er auf die neu erstellten Newsarchive auch automatisch Zugriff erhält. image

Wenn er aber versucht, ein neues Newsarchiv anzulegen, hat er für exakt dieses Newsarchiv keine Zugriffsrechte. image

Es fehlt die Möglichkeit, bei den Benutzerrechten einzustellen, dass nicht nur aktuell gewählte Newsarchive erlaubt sind, sondern auch alle zukünftigen. Das Gleiche gilt für andere Erweiterungen, z.B. FAQ, Newsletter, Google Maps, ...

Contao 4.3

ADoebeling commented 7 years ago

Das klingt für mich nach einem Bug und einem Feature-Request:

Wenn er aber versucht, ein neues Newsarchiv anzulegen, hat er für exakt dieses Newsarchiv keine Zugriffsrechte.

Wenn ein User ein Archiv anlegen kann, muss er es natürlich auch bearbeiten können.

Es fehlt die Möglichkeit, bei den Benutzerrechten einzustellen, dass nicht nur aktuell gewählte Newsarchive erlaubt sind, sondern auch alle zukünftigen.

Das könnte ein sinnvolles Feature sein.

Grüße Andreas

Nachtrag 05.12.2016: Sorry, Danke @fritzmg für den Hinweis. Copy&Paste korrigiert

fritzmg commented 7 years ago

@ADoebeling was genau ist nun für dich ein Bug und was ein Feature Request? Du hast zwei mal die selbe Stelle gequoted ;).

ADoebeling commented 7 years ago

Ich habe am Wochenende nochmal offline mit @Xendiadyon gesprochen: Beim Anlegen eines neuen Archives müsste ein Benutzer eigentlich auswählen dürfen, für welche Benutzergruppen er das jeweilige Archiv freischalten möchte. In der Liste dürfen dabei natürlich nur diejenigen Benutzergruppen gelistet sein, denen er selbst zugewiesen ist, bzw. für die er als Administrator berechtigt ist.

asaage commented 7 years ago

:confused: der Logik folgend müsste er ja durch das Anlegen eines Archives auch die Rechte bekommen in den Listen-Modulen sein Häkchen für das Archiv zu setzen. Ich denk das sollte man schon jemandem überlassen, der die nötigen Rechte in der Benutzer- oder Benutzergruppenverwaltung bzw. den Frontendmodulen hat.

ADoebeling commented 7 years ago

@asaage Die Frage ist, wie es besser wäre:

Redakteur legt neues Archiv an und:

Für eine optimale Lösung müsste mal das bisherige Rechtekonzept überarbeiten und künftig nicht nur den Haken setzen "Darf Archive anlegen", sondern auch "Archive erhalten automatisch folgende Benutzergruppe zugewiesen". Das ist aber IMHO ein BC-Break.

asaage commented 7 years ago
  • ... kann selbst wählen, welche Benutzergruppen hierauf welche Rechte besitzen => erscheint mir die noch relativ schönste Alternative.

lässt sich doch realisieren indem du den Redakteuren die Gruppenverwaltung mit den entsprechenden Feldern freischaltest - oder sehe ich das falsch? Erlaubte Module: Benutzerverwaltung->Benutzergruppen Erlaubte Felder: tl_user_group->Erlaubte Archive

Ich hadere auch hin und wieder mit dem Rechtekonzept :)

ADoebeling commented 7 years ago

Wenn das so funktioniert, ist das zwar vom Workflow für den gemeinen Redakteur etwas "unintuitiv", löst aber tatsächlich das Problem. @Xendiadyon Kannst Du das bitte mal checken?

leofeyer commented 7 years ago

Wünschenswert ist, dass er auf die neu erstellten Newsarchive auch automatisch Zugriff erhält.

Das ist eigentlich auch der Fall:

https://github.com/contao/core/blob/master/system/modules/news/dca/tl_news_archive.php#L313-L362

Klappt es in der Onlinedemo nicht?

Xendiadyon commented 7 years ago

Wenn man die Benutzerrechte feiner aufspaltet (z.B. darf eine Benutzergruppe Seiten/Artikel anlegen, eine andere darf News eintragen oder erstellen, aber KEINE Seiten/Artikel anlegen) und einem Benutzer die Mitgliedschaft in beide Gruppen zuweist, dann gibt es den Fehler:

image

Und zwar genau dann, wenn die News-Redakteurgruppe NICHT die Seitenbearbeitungsrechte hat und in der Reihenfolge der User-Groups unter der Seiten-Redakteurgruppe steht. Dann kommt nämlich beim Auswählen der Weiterleitungsseite ein Rechtefehler und anschließend besitzt man nicht die Rechte, das (trotzdem angelegte) Newsarchiv zu bearbeiten. (Meine Theorie: Weil intern durch die Auswahl der Weiterleitungsseite auf die Seitenredakteurgruppe geschaltet wird und diese nun mal keine Rechte für irgendwelche Newsarchive hat.

Das erklärt aber nicht, warum es bei der Google Maps Erweiterung nicht klappt, wo man idR keine Weiterleitungsseite anlegen muss.

Eventuell wird auch nur versucht, der ersten Benutzergruppe die Rechte zu verpassen, denn wenn die News-Redakteurgruppe VOR der Seitenredakteurgruppe stehen hat, klappt es in der Online-Demo.

Ich werde versuchen, den News-Redakteuren (genau wie den Google-Maps-Redakteuren) zusätzlich als Gruppenrechte Seitenbearbeitungsrechte zu geben. Dann ist zwar die Berechtigung nicht so dediziert gestaffelt wie ich es mir wünsche, aber es ist an sich auch völlig okay, wenn ein Benutzer, der Newsarchive anlegen kann, auch Seitenbearbeitungsrechte besitzt.

leofeyer commented 7 years ago

Das ist eigentlich auch der Fall:

https://github.com/contao/core/blob/master/system/modules/news/dca/tl_news_archive.php#L313-L362

Klappt es in der Onlinedemo nicht?

fritzmg commented 7 years ago

@Xendiadyon ging es dir nicht ursprünglich um die Nachrichten Archive in Contao 4?

Xendiadyon commented 7 years ago

Ja, es geht mir um Contao4; ich habe dieses Problem wie am 5.12. geschrieben auch genauso in der OnlineDemo reproduzieren können:

1) neuen Benutzer "News-Redakteur" anlegen und ihm die Rechte für Newsarchive löschen/bearbeiten geben, aber NICHT für Seiten editieren. Nicht vergessen, ihn mit Rechten für tl_news und tl_news_archive auszustatten.

2) Editors bearbeiten, die Rechte für das Editieren von News-Archiven entfernen (der Editor hat sowieso keine Rechte, um ein neues News-Archiv anzulegen). Den Pagemount für Editor setzen.

3) Helen Lewis bearbeiten und ihr zusätzlich der Gruppe News-Redakteur zuweisen.

4) Als Helen einloggen und ein neues News-Archiv anlegen.

5) Gegentest: Als Admin einloggen, die Reihenfolge der Gruppen ändern (erst News-Redakteur, dann Editor). Als Helen einloggen, Newsarchiv anlegen: Klappt.

6) Weil es so unfassbar ist, nochmal Triple-Test: Als Admin einloggen, Reihenfolge der Gruppen bei Helen wieder tauschen (erst Editor, dann News-Redakteur). Als Helen einloggen, Newsarchiv anlegen: Fehler.

Dieser Fehler existiert sowohl in Contao 3 (Demo) als auch in Contao 4.

Ich hoffe, ich konnte helfen?

leofeyer commented 7 years ago

Das Problem war, dass Contao versucht hat, die ID des neuen Archivs der Benutzergruppe zuzuordnen; die Rechte waren aber auf dem Benutzer selbst gesetzt. Hättest Du die Rechte zum Anlegen neuer Archive der Gruppe gegeben, wäre uns der Fehler nie aufgefallen – insofern gut. 😄

Behoben in 95c9fd7403c62483f0c87a6d1cba851ce99a206c.