Sicheres Asset / Medienordner durch Auth-Controller? Laravel 5.2

9

Ich habe public / Asset / Media / Ordner

Ich kann auf diese Datei wie unten öffentlich zugreifen.

%Vor%

Ebenso gibt es andere Ordner im Asset / Media-Ordner, die gerade erstellt werden.

In diesem Unterordner befinden sich auch viele Dateien, die auch im Ordner "Asset / Media" vorhanden sind

Gibt es eine Möglichkeit, dass ich, wenn ich versuche, auf eine Datei im Asset / Media-Ordner oder eine Datei im Unterordner des Asset / Media-Ordners zuzugreifen, auf die Anmeldeseite umgeleitet werden sollte, weil die Authentifizierung nicht erfolgt?

Ich meinte, kann ich Auth Middleware verwenden, um diesen Ordner zu sichern? Wenn ja, ist es ein gültiger Ansatz, wenn wir von einer Android App auf die Dateien zugreifen müssen?

    
Pankaj 16.05.2016, 09:17
quelle

5 Antworten

1

Meine Beispiel-URL ist hier:

Ссылка

Meine Route

%Vor%

Controller-Aktionsmethode

%Vor%

Hier ist wichtig, dass ich application/octet-stream jeden Dateityp herunterladen kann.

    
Pankaj 22.05.2016, 07:33
quelle
1

Wenn Sie Dateien sichern möchten, müssen sie Laravel durchlaufen. Der Zugriff auf die Datei erfolgt (über den vollständigen Pfad) nicht über Laravel. Sie können dies erreichen, indem Sie eine Route erstellen:

%Vor%

Erstellen Sie dann einen Controller, um auf die Datei zuzugreifen, damit Sie mit Auth nach Zugriffsberechtigungen suchen können. Es bedeutet auch, dass Sie die Datei an einen unzugänglichen Ort stellen und das Laravel-Dateisystem verwenden sollten, um mit PHP auf die Datei zuzugreifen:

%Vor%     
Niraj Shah 16.05.2016 19:09
quelle
1

Laravel 5.2 hat HTTP Middleware eingeführt, ich würde Ihnen raten, es zu tun.

Ссылка

Dieser Thread könnte Ihnen helfen, ihn zum Laufen zu bringen ...

Laravel 5.2 Auth funktioniert nicht

    
Prakash 18.05.2016 17:24
quelle
1

Benutze die folgende Route:

%Vor%     
Javid Aliyev 18.05.2016 19:01
quelle
0

Die Datei im öffentlichen Ordner wird für jeden zugänglich sein, da die von Laravel geschriebenen Regeln für das Umschreiben keine Anwendung finden. Laravel wird nicht einmal aufgerufen, wenn jemand auf eine Datei im öffentlichen Ordner zugreift.

Sie müssen also Ihre eingeschränkten Dateien an einem anderen Ort speichern, vielleicht im Speicherordner, aber letztendlich ist das egal.

Nachdem Sie Ihren gesamten Asset- / Medienordner in den Speicherordner gestellt und Ihren Code aktualisiert haben, der Ihren Ordner im laufenden Betrieb erstellt hat ( Wie der Speicher funktioniert ).

Erstellen Sie einen FileController:

PHP

%Vor%

Die Route konfigurieren:

%Vor%

Das ist es, jetzt ist nur Ihr authentifizierter Benutzer in der Lage, Asset-Dateien als Dank für die Middleware-Authentifizierung herunterzuladen, was auch für die Android-App funktioniert.

    
Sofiene Djebali 21.05.2016 22:57
quelle

Tags und Links