2016-05-12 5 views
0

Ich Logging-Anfrage für meine Website, für Gast-Benutzer und authentifizierte Benutzer, aber dann sah ich ein Problem, dass, wenn ein Benutzer angemeldet ist und eine 404-Ausnahme tritt in diesem Fall ich Auth :: user() war null,Laravel v5.2 bewegte Middleware von der Webgruppe zur globalen?

was habe ich dann die StartSession Middleware von Web-Gruppe zu globalen Middleware-Gruppe verschoben. Jetzt funktioniert es gut. Gibt es ein Problem, das auftreten kann, wenn die Middleware von der Webgruppe in die globale verschoben wird?

Antwort

0

Globale Middleware wird jedes Mal ausgeführt, wenn eine HTTP-Anforderung an Ihre Anwendung gestellt wird. Wenn der Kontext Ihrer LoggingMiddleware mit dieser Absicht arbeitet, sollte es kein Problem geben.

+0

eigentlich, wenn der Kernal anfängt, die Anfrage zu behandeln, zuerst die globale Middleware laufen dann die Route von der angeforderten Route übereinstimmen, wenn abgestimmt dann die anderen Middleware-Gruppen laufen, wenn Route nicht übereinstimmt, wird Sitzung nicht starten und wir können nicht erhalten der Benutzer selbst aus $ request-> user() – rummykhan

+0

Sie sind in Ihrem Fall richtig, Sie können nicht auf den aktuellen Benutzer zugreifen, ohne ihn in die globale Gruppe zu verschieben. Was du getan hast, sollte in Ordnung sein. Bearbeitete die Antwort, um das zu reflektieren. –

+0

Der Code ist noch in der Testphase, ich wollte nur sicherstellen, dass es irgendwelche Auswirkungen darauf gibt. – rummykhan

Verwandte Themen