Laravel auth-check für alle Seiten
Ich habe die Authentifizierung, und seine Arbeit perfekt. Aber es gibt ein problem bei der überprüfung der inneren Seiten. Zum Beispiel,
Route::get('/', array('before' => 'auth' , 'do'=> function(){
return View::make('home.index');
}));
Die index-Seite ist nur sichtbar für angemeldete Nutzer. Aber immer, wenn ich gehen, um die inneren Seiten, zum Beispiel example.com/products
. Die Produkte-Seite kann sichtbar sein, ohne log-in.
InformationsquelleAutor Mifas | 2012-12-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nur überprüfen, ob der Benutzer angemeldet ist in Ihren Ansichten.
Beschränken oder alle controller (wenn Sie es)
Oder überprüfen Sie die Route-Gruppen, und geben Sie einen filter, um die ganze Gruppe der Routen: http://laravel.com/docs/routing#groups
Nur meine Antwort bearbeitet
Route-Gruppen sind ideal für die Anwendung von filtern, um dies zu erreichen, aber ich würde nicht empfehlen, es zu tun auf view-Ebene eine tragfähige alternative - es muss nicht kicken früh genug (d.h. eine
POST
könnte noch einen Effekt haben Sie vor dem Rendern einer Ansicht, dann kickt den user aus)InformationsquelleAutor matiit
Hier ist meine Lösung.
InformationsquelleAutor Juan Escobar
Es gibt mehrere Möglichkeiten der Anwendung von filtern für viele Strecken.
Setzen rotues in
Route::group()
oder wenn Sie Controller hinzufügen den filter gibt, fügen Sie es in dieBase_Controller
also es wird auf alle angewendet. Sie können auch filter verwenden Muster und einen regex verwenden, gilt der filter für alle außer ein paar Sie nicht wollen.Dokumentation
Route-Filter: http://laravel.com/docs/routing#route-filters
Beispiel die Muster-filter, wie die anderen sind im Grunde in der Dokumentation. Dies könnte die Schnellste, aber auch die problematischste, weil der problematische Weg der Registrierung ein regex in dieser Funktion (die
*
ist tatsächlich konvertiert in(.*)
).Dies gilt auth für jede route, die mit Ausnahme
example.com/login
.InformationsquelleAutor TLGreg
Kann es einen besseren Weg, aber ich nehmen ein whitelist-Ansatz. Alles wird blockiert von der öffentlichkeit, außer für das, was die Seiten, die ich in diesem array.
InformationsquelleAutor Michael J. Calkins
InformationsquelleAutor Brad
Lesen Sie mehr auf der Dokumentations-Seite:
https://laravel.com/docs/5.2/routing#route-groups
InformationsquelleAutor Khadreal
dieser code funktioniert bei mir einwandfrei
InformationsquelleAutor جلال العمري
Es funktionierte für mich . werfen Sie einen Blick auf es.
InformationsquelleAutor Hashmat Waziri
Das gleiche problem kann gelöst werden über einen BaseController erweitert alle Controller haben muss angemeldeten user.
Beispiel:
fügen Sie einfach ein
__construct()
Methode BaseControllerMehr info hier
InformationsquelleAutor Marcos Regis