[Frage] File Permissions bei Scheduler Task der durch Cron-Job gestartet wird

  • Chemistry Chemistry
    Jar Jar Binks
    0 x
    1 Beiträge
    0 Hilfreiche Beiträge
    09. 08. 2015, 13:31

    Hallo Zusammen

    Dies ist mein erster Forum Beitrag überhaupt, ich bitte deshalb um etwas Nachsicht.

    In meinem aktuellen Projekt verwende ich einen Cron-Job der einen selbst entwickelten Scheduler Task anwirft um automatisch ZIP-Files zu entpacken und XML-Files zu Importieren. Der Cron-Job sowie der Scheduler Task und der Import der Daten funktioniert soweit.

    Nun sind Bilder dazugekommen die über den FAL ebenfalls erstellt und referenziert werden sollen. Nachfolgend der Code mit dem ich dies versuche.

    1. if($xml->img != ""){
    2. $storageRepository = $this->objectManager->get('TYPO3\\CMS\\Core\\Resource\\StorageRepository');
    3. $storage = $storageRepository->findByUid('1');
    4.  
    5. $targetFolder = $storage->getFolder('/templates/dump/test');
    6. $originalFilePath = '/templates/dump/'.$i.'/'.$xml->img;
    7. $newFileName = 'myfile.png';
    8.  
    9.  
    10. if (file_exists($originalFilePath)) {
    11. $movedNewFile = $storage->addFile($originalFilePath, $targetFolder, $newFileName);
    12. $newFileReference = $this->objectManager->get('Starttoweb\\StwBrandsmanager\\Controller\\FileReference');
    13. $newFileReference->setFile($movedNewFile);
    14. $entity->setImage($newFileReference);
    15. }
    16. }

    Folgende Fehlermeldung bekommen ich beim Scheduler Task und im Log:

    [scheduler]: Task failed to execute successfully. Class: ...\ImportTask, UID: 26. You are not allowed to access the given folder (msg#4.0.255)

    Alle Ordner verfügen über die Berechtigung zum lesen, schreiben und auszuführen für User Gruppen und Andere.

    Nun meine Frage: Verfügt die abstrakte Klasse \TYPO3\CMS\Scheduler\Task\AbstractTask nicht über die gleichen Berechtigungen wie die \Starttoweb\StwBrandsmanager\Controller\AbstractController oder liegt der Fehler ganz an einem anderen Ort?

    Vielen Dank im voraus für eure Antworten.


  • 1
  • 99grad 99grad
    T3PO
    0 x
    19 Beiträge
    1 Hilfreiche Beiträge
    12. 04. 2017, 00:23

    Bin gerade auf das gleiche Problem gestossen.

    Da der Task im Scheduler mit dem Benutzer [b]_cli_scheduler[/b] ausgeführt wird, muss man dem Benutzer auch die Verzeichnisfreigabe auf das entsprechende Verzeichnis erteilen.

    Dazu in der Typo3-Rootseite (Listenansicht) eine neue Verzeichnisfreigabe anlegen (z.B. direkt auf das fileadmin/-Verzeichnis). Dann den Benutzer [b]_cli_scheduler[/b] bearbeiten und unter "Freigaben & Arbeitsumgebung -> Dateifreigabe" die Verzeichnisfreigabe zuweisen.

    [url]http://labor.99grad.de/?p=1213[/url]

  • 1