Ergebnis 1 bis 7 von 7

Thema: Gelöst: Fehlende Zugriffsrechte auf Archivebene nach Update von 5.3.x auf 5.7.5

  1. #1
    Contao-Nutzer
    Registriert seit
    07.05.2012.
    Beiträge
    23

    Standard Gelöst: Fehlende Zugriffsrechte auf Archivebene nach Update von 5.3.x auf 5.7.5

    Update: Der Fehler ist offenbar nicht in Contao 5.7.5 begründet, sondern erscheint erst bei installierter Contao Marketing Suite 3.1.1 (https://packagist.org/packages/numer...arketing-suite). Eine Deinstallation beseitigt die Fehlfunktion.

    Hallo Community,

    mir ist gerade bei der Aktualisierung eines Projekts von Contao 5.3.x auf die aktuelle 5.7.5 ein Problem aufgefallen, das ich nicht ganz zuordnen kann. Folgendes Szenario:

    • Projekt nutzt ein Newsarchiv für Referenzprojekte, ein weiteres Newsarchiv ist als ungenutztes Testarchiv angelegt
    • Es gibt eine Benutzergruppe für Redakteure, die umfangreiche Bearbeitungsrechte auf der Seite haben, auch die Bearbeitung des Projektarchivs (nicht des Testarchivs). Benutzerrechte unter 5.3.x korrekt gesetzt.
    • Nach Update von 5.3.x auf 5.7.5 erhalten Mitglieder der Redakteursgruppe beim Aufruf von „Nachrichten“ (/contao?do=news) eine Fehlermeldung: „Not enough permissions to read [Subject: Source: tl_news_archive; ID: 2]“. Daraufhin unter 5.7.5 alle Benutzerrechte überprüft, keine Fehler gefunden.
    • ID: 2 ist das Archiv, auf das die Redakteure *keinen* Zugriff haben – das dürfte aber die Übersicht in „Nachrichten“ nicht behindern.
    • Nach dem Löschen des Newsarchivs mit der ID: 2 können Redakteure den Bereich „Nachrichten“ wieder aufrufen und sehen ihr bearbeitbares Projektarchiv.
    • Sehr seltsam dabei: In den Einstellungen der Newsarchive unter 5.7.5 fehlt das komplette (neue) Panel „Zugriffsrechte“, mit dem sich die Rechte auf Archivebene vergeben lassen.
    • Der Debug-Mode gibt keinerlei Fehler aus, die Datenbankstruktur ist aktuell.

    Offensichtlich passt Contao 5.7.5 irgendetwas nicht, damit die Zugriffsrechte auf Archivebene erscheinen. Ich habe keinen Ansatz, wo ich suchen könnte. Hat jemand eine Idee? Oder gibt es ein verstecktes Häkchen, mit dem ich die Rechte auf Archivebene erst aktivieren muss?

    Screenshot Newsarchiv ohne Zugriffsrechte: fehlendezugriffsrechte.png

    Liebe Grüße,
    Heiner

    EDIT: Lege ich wieder ein beliebiges neues Newsarchiv an, auf das die Redakteure keinen Zugriff haben, ist der Fehler wieder da. Stack-Trace:

    Code:
    AccessDeniedException
    
    Contao\CoreBundle\Exception\AccessDeniedException:
    Not enough permissions to read [Subject: Source: tl_news_archive; ID: 5].
    
      at vendor/contao/core-bundle/contao/classes/DataContainer.php:822
      at Contao\DataContainer->denyAccessUnlessGranted('contao_dc.tl_news_archive', object(ReadAction))
         (vendor/contao/core-bundle/contao/drivers/DC_Table.php:4552)
      at Contao\DC_Table->listView()
         (vendor/contao/core-bundle/contao/drivers/DC_Table.php:523)
      at Contao\DC_Table->showAll()
         (vendor/contao/core-bundle/contao/classes/Backend.php:463)
      at Contao\Backend->getBackendModule('news', null)
         (vendor/contao/core-bundle/contao/controllers/BackendMain.php:143)
      at Contao\BackendMain->run()
         (vendor/contao/core-bundle/src/Controller/Backend/BackendController.php:45)
      at Contao\CoreBundle\Controller\Backend\BackendController->mainAction()
         (vendor/symfony/http-kernel/HttpKernel.php:183)
      at Symfony\Component\HttpKernel\HttpKernel->handleRaw(object(Request), 1)
         (vendor/symfony/http-kernel/HttpKernel.php:76)
      at Symfony\Component\HttpKernel\HttpKernel->handle(object(Request), 1, true)
         (vendor/symfony/http-kernel/Kernel.php:193)
      at Symfony\Component\HttpKernel\Kernel->handle(object(Request))
         (public/index.php:42)
    Code:
    AccessDeniedHttpException
    
    Symfony\Component\HttpKernel\Exception\AccessDeniedHttpException:
    Not enough permissions to read [Subject: Source: tl_news_archive; ID: 5].
    
      at vendor/symfony/security-http/Firewall/ExceptionListener.php:126
      at Symfony\Component\Security\Http\Firewall\ExceptionListener->handleAccessDeniedException(object(ExceptionEvent), object(AccessDeniedException))
         (vendor/symfony/security-http/Firewall/ExceptionListener.php:93)
      at Symfony\Component\Security\Http\Firewall\ExceptionListener->onKernelException(object(ExceptionEvent), 'kernel.exception', object(TraceableEventDispatcher))
         (vendor/symfony/event-dispatcher/Debug/WrappedListener.php:115)
      at Symfony\Component\EventDispatcher\Debug\WrappedListener->__invoke(object(ExceptionEvent), 'kernel.exception', object(TraceableEventDispatcher))
         (vendor/symfony/event-dispatcher/EventDispatcher.php:206)
      at Symfony\Component\EventDispatcher\EventDispatcher->callListeners(array(object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener)), 'kernel.exception', object(ExceptionEvent))
         (vendor/symfony/event-dispatcher/EventDispatcher.php:56)
      at Symfony\Component\EventDispatcher\EventDispatcher->dispatch(object(ExceptionEvent), 'kernel.exception')
         (vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php:129)
      at Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher->dispatch(object(ExceptionEvent), 'kernel.exception')
         (vendor/symfony/http-kernel/HttpKernel.php:241)
      at Symfony\Component\HttpKernel\HttpKernel->handleThrowable(object(AccessDeniedException), object(Request), 1)
         (vendor/symfony/http-kernel/HttpKernel.php:91)
      at Symfony\Component\HttpKernel\HttpKernel->handle(object(Request), 1, true)
         (vendor/symfony/http-kernel/Kernel.php:193)
      at Symfony\Component\HttpKernel\Kernel->handle(object(Request))
         (public/index.php:42)
    Geändert von Heiner (Heute um 00:05 Uhr)

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

    Standard

    Es könnte vielleicht damit zu tun haben: https://github.com/contao/contao/issues/9831
    » sponsor me via GitHub or Revolut

  3. #3
    Contao-Nutzer
    Registriert seit
    07.05.2012.
    Beiträge
    23

    Standard

    Hatte ich mir auch schon überlegt – ich finde allerdings bisher keine Issues bzgl. der tl_news_archive... Daher liegt der Verdacht erstmal bei mir selbst.

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

    Standard

    Hm, ja in deinem Stack Trace ist der ValueFormatter nicht drin.

    Besteht evt. die Möglichkeit, dass du einen Datenbank-Dump zur Verfügung stellen kannst, wo der Fehler auftritt?
    » sponsor me via GitHub or Revolut

  5. #5
    Contao-Nutzer
    Registriert seit
    07.05.2012.
    Beiträge
    23

    Standard

    Na klar, ohne Probleme. Die persönlichen Daten in der tl_user könnte ich ja rausnehmen/anonymisieren? Wohin mit dem Dump?

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

    Standard

    Einfach irgendwie zur Verfügung stellen
    » sponsor me via GitHub or Revolut

  7. #7
    Contao-Nutzer
    Registriert seit
    07.05.2012.
    Beiträge
    23

    Standard

    Erledigt, siehe DM!

    Liebe Grüße!
    Heiner

Aktive Benutzer

Aktive Benutzer

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

Berechtigungen

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