2017-07-11 1 views
1

Ich habe bestimmte Routen, die ich vor Benutzern schützen muss, die nicht Admin sind.Laravel schützen Routen von Benutzern, die nicht admin sind

Zum Beispiel

http://myapp.com/clients 

gibt alle Kunden, sondern ist nur für den Administrator.

jedoch

http://myapp.com/client/treutel_breitenberg 

Sollte ihnen zur Verfügung stehen, wenn sie angemeldet sind.

Was ist der beste Weg, dies

+0

Sie können Middleware für diesen Fall verwenden – Vinothini

+0

ja https://laracasts.com/series/laravel-5-from-scratch/episodes/14 – LeBlaireau

Antwort

1

Sie gehen zu müssen, Rollen und eine Middleware zu erreichen, und es gibt viele Möglichkeiten, es zu tun. Zuerst müssen Sie eine Admin-Rolle erstellen, sodass einige Ihrer Routen nur für jemanden mit Administrator-Rechten verfügbar sind. Dafür können Sie folgen dieser laracasts Tutorial: https://laracasts.com/series/whats-new-in-laravel-5-1/episodes/16

Sie auch ein Plugin Rollen verwalten können, wie Zizaco des Entrust, es verbauten gut, von vielen Benutzern getestet und einfach zu bedienen: https://github.com/Zizaco/entrust

als nächstes Ihre Frage für die Routen zu beantworten, die Sie so vorgehen können:

Route::group(['middleware' => ['admin']], function() { 

    Route::group(['prefix' => 'admin'], function() { 
     Route::get('/your-path', '[email protected]')->name('yourRouteName'); 

    } 
} 

Jede Route innerhalb dieser beiden Gruppen werden als Administrator müssen authentifiziert werden und wird ‚admin‘ Präfix in Ihrer Route zurückkehren, etwa so: www .yourwebsite.com/admin/your-Pfad

Wenn Sie kein Plugin verwenden, müssen Sie Ihre Middleware nur für Administratoren erstellen.

+0

Ich habe nur 2 Rollen, Sie sind entweder ein Super Admin oder nicht aber ist gut zu wissen. Vielen Dank. – LeBlaireau

Verwandte Themen