2013-04-01 6 views
6

Ich versuche herauszufinden, wie der eingeloggte Benutzer in Laravel 4 das richtige Benutzerkonto besuchen kann.Test eingeloggter Benutzer hat korrekte ID in Laravel 4

Im Moment ist das in meiner routes.php-Datei.

Route::get('user/{id}', array('before' => 'auth', function(){ 
    // logged in user 
    // but can visit any account!! 
})); 

Wie würde ich dies einschränken, so Benutzer/1 nur das Profil sehen konnte, wenn das der Benutzer-ID angemeldet Strom?

Auth::user()->id 

Gibt die in ID angemeldet gegen testen, aber ich kann nicht herausfinden, wie ein Filter zu schreiben, es ist gleich die {id} in der URL überprüft.

Bitte helfen! Danke.

Antwort

6

Hilfe durch den Laravel-IRC-Kanal.

Dies ist die Art und Weise, mit der ich gegangen bin.

Route::filter('user', function($route, $request) 
{ 
    if($request->segment(2) != Auth::user()->id) 
    { 
     return Redirect::to('/login'); 
    } 
}); 

Dann auf meiner Route tun.

Route::get('user/{id}', array('before' => 'auth|user', 'uses' => '[email protected]'));