Contao-Camp 2024
Ergebnis 1 bis 10 von 10

Thema: Kopieren von Eigenschaften trotz fehlender Benutzerrechte

  1. #1
    Contao-Urgestein Avatar von Samson1964
    Registriert seit
    05.11.2012.
    Ort
    Berlin
    Beiträge
    2.792

    Standard Kopieren von Eigenschaften trotz fehlender Benutzerrechte

    Gerade heute gab es wieder zwei Fälle, wo Benutzer mit eingeschränkten Rechten, Zugriffe auf Eigenschaften bekommen haben, die sie im Normalfall nicht hätten. Hier die Vorgehensweise dabei konkret:

    Die Benutzer haben keinen Zugriff auf das Hervorheben von Nachrichten.

    1. Benutzer legt eine Nachricht an und veröffentlicht diese.
    2. Admin aktiviert die Checkbox Hervorheben, weil Benutzer darauf keinen Zugriff hat und bekommen soll.
    3. Benutzer legt eine neue Nachricht an, d.h. eigentlich kopiert er die alte hervorgehobene Nachricht.


    Beim Kopieren der alten Nachricht wurde auch die Hervorgehoben-Einstellung mitkopiert, womit der Benutzer zwar Hervorheben nicht bearbeiten kann, aber sich so eine hervorgehobene Nachricht verschafft hat. Das ist für mich ein Bug in Contao. Beim Kopieren von Nachrichten sollten doch wohl nur die Elemente kopiert werden, auf die der Benutzer Zugriff hat. Alle anderen gesperrten Elemente bekommen die Standardeinstellung. D. h. bei Hervorgehoben - nicht aktiviert.

    Dieser Bug wird schon seit Contao 3 mitgeschleppt.
    Viele Grüße
    Frank

    Seit Mai 2013 Fan von Contao
    Webmaster vom Deutschen Schachbund und Berliner Schachverband
    Mein Blog: Schachbulle
    Meine Erweiterungen bei GitHub
    Meine Videos auf YouTube: Playlist zur Contao-Programmierung/Einrichtung

  2. #2
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.894
    Partner-ID
    10107

    Standard

    Verifizierte Bugs auf GitHub posten, nicht im Forum

  3. #3
    Contao-Yoda Avatar von MacKP
    Registriert seit
    15.06.2009.
    Ort
    Duisburg
    Beiträge
    13.292
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Ich glaube eher nicht, dass es ein Bug ist. Das Vorgehen welches sich Samson1964 wünscht wäre eher etwas für eine Workflow Erweiterung.
    Die Berechtigung, dass der Redakteur diese Stelle nicht Ändern darf ist ja vorhanden und funktioniert anscheinend auch ;-)

    Viele Grüße
    Contao Pool | C-C-A | MetaModels | [Internetseite -> Mediendepot Ruhr]
    [Arbeitet bei -> Paus Design & Medien]
    "I can EXPLAIN it to you, but I can't UNDERSTAND it for you."

  4. #4
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.894
    Partner-ID
    10107

    Standard

    Er meint aber, dass das bei anderen Eigenschaften bereits so funktioniert. Selbst verifiziert habe ich das jedoch noch nicht.

  5. #5
    Contao-Yoda Avatar von MacKP
    Registriert seit
    15.06.2009.
    Ort
    Duisburg
    Beiträge
    13.292
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Er meint aber, dass das bei anderen Eigenschaften bereits so funktioniert. Selbst verifiziert habe ich das jedoch noch nicht.
    Ach so, das hab ich jetzt so nicht daraus gelesen gehabt.
    Wobei ich auch dann der Meinung wäre, dass eher die anderen Eigenschaften einen Bug haben, da dass beschriebene Verhalten genau dem Entspricht, was ich erwarten würde ^^

    Viele Grüße
    Contao Pool | C-C-A | MetaModels | [Internetseite -> Mediendepot Ruhr]
    [Arbeitet bei -> Paus Design & Medien]
    "I can EXPLAIN it to you, but I can't UNDERSTAND it for you."

  6. #6
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.894
    Partner-ID
    10107

    Standard

    Stimmt, hatte das falsch gelesen.

    Ja, das ist demnach kein Bug

  7. #7
    Contao-Urgestein Avatar von Samson1964
    Registriert seit
    05.11.2012.
    Ort
    Berlin
    Beiträge
    2.792

    Standard

    Wenn es kein Bug ist, dann muß ich den Benutzern also die Rechte zum Kopieren von Nachrichten entziehen. D.h. auch die eigenen Nachrichten können Sie nicht mehr kopieren.
    Ebenso muß ich alle Rechte zum Kopieren auch bei anderen Elementen (Seiten, Artikel, Events u.a.) entziehen. Ich überlege gerade auch noch, ob ich das Kopieren von Inhaltselementen verbieten muß, falls das möglich ist.

    Im Moment ist es so, das sich die Benutzer einfach eine Nachricht mit Admin-Eigenschaften nehmen, kopieren und dadurch für ihre neue Nachricht alle Admin-Eigenschaften mit übernommen haben. (Natürlich könnten sie auch die alte Nachricht überschreiben und haben damit auch Hervorheben "ja", ohne darauf Zugriff zu haben...)

    Ich verwende die Hervorheben-Option für Nachrichten, die zusätzlich auf der Startseite erscheinen (dürfen). Da die Benutzer Hervorheben nicht ändern können, können Sie auch keine Nachrichten auf der Startseite veröffentlichen. Durch das Kopieren einer alten Nachricht mit aktiver Hervorheben-Option haben sie sich aber Zugriff auf die Startseite verschafft. Theoretisch hätte ich ja erwartet, das Contao die erlaubten Optionen (einer Nachricht) beim Kopieren prüft. Ist beim Benutzer Hervorheben gesperrt, wird die Hervorheben-Option nur in der Standardeinstellung "kopiert". Aus Hervorheben "ja" würde also Hervorheben "nein".

    EDIT: Kopieren von Nachrichten etc. verbieten, geht leider gar nicht
    Geändert von Samson1964 (24.06.2019 um 12:25 Uhr)
    Viele Grüße
    Frank

    Seit Mai 2013 Fan von Contao
    Webmaster vom Deutschen Schachbund und Berliner Schachverband
    Mein Blog: Schachbulle
    Meine Erweiterungen bei GitHub
    Meine Videos auf YouTube: Playlist zur Contao-Programmierung/Einrichtung

  8. #8
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.894
    Partner-ID
    10107

    Standard

    Wie gesagt, das Rechte Management von Contao verhindert hier nur das Bearbeiten der jeweiligen Eigenschaften.

  9. #9
    Contao-Yoda Avatar von MacKP
    Registriert seit
    15.06.2009.
    Ort
    Duisburg
    Beiträge
    13.292
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Guck dir mal die ganzen Threads zu einem Workflow in Contao an. Da gab es viele viele Ansätze, und das ist leider alles andere als Einfach.
    Eventuell musst du dann mal überdenken, wie du das bisher handhabst. Eventuell kannst du mit einem Hook in das kopieren rein gehen un den Wert von dem Feld immer auf 0 setzen, oder du arbeitest mit einem extra Archiv, wo du dann die News rein kopierst oder oder oder...
    So wie du es aktuell hast möchtest du es ja anscheinend nicht ;-)

    Viele Grüße
    Contao Pool | C-C-A | MetaModels | [Internetseite -> Mediendepot Ruhr]
    [Arbeitet bei -> Paus Design & Medien]
    "I can EXPLAIN it to you, but I can't UNDERSTAND it for you."

  10. #10
    Contao-Urgestein
    Registriert seit
    29.10.2009.
    Ort
    Magdeburg
    Beiträge
    2.020
    Partner-ID
    626
    User beschenken
    Wunschliste

    Standard

    Ob dein gewünschtes Verhalten nicht irgendwo zu Problemen führt, kann ich nicht sagen. Prinzipiell dürfte es sich aber leicht implementieren lassen über den loadDataContainer Hook (ungetestet):

    PHP-Code:
    final class DoNotCopyExcludedFieldsListener
    {
        public function 
    onLoadDataContainer(string $dataContainer) : void
        
    {
            if (!isset(
    $GLOBALS['TL_DCA'][$dataContainer]['fields'])
                || !
    is_array($GLOBALS['TL_DCA'][$dataContainer]['fields'])
            ) {
                return;
            }

            
    $user = \Contao\BackendUser::getInstance();
            if (
    $user->isAdmin) {
                return;
            }

            foreach (
    $GLOBALS['TL_DCA'][$dataContainer]['fields'] as $name => $config) {
                if ((
    $config['exclude'] ?? false) && !$user->hasAccess($name'alexf')) {
                    
    $GLOBALS['TL_DCA'][$dataContainer]['fields'][$name]['eval']['doNotCopy'] = true;
                }
            }
        }

    Persönlich wünsche ich mir das Verhalten so, wie es derzeit ist. Wenn ich z.B. ein Inhaltselement mit einem Custom Template angelegt habe, dann soll ein Redakteur dieses kopieren können, aber nicht zwangsweise selbst Templates auswählen.
    Geändert von webstar (24.06.2019 um 15:26 Uhr)

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •