2013-04-01 109 views
6

我想解決如何測試Laravel 4中的登錄用戶可以訪問正確的用戶帳戶。測試登錄用戶在Laravel 4中有正確的ID

此刻這就是我的routes.php文件中的內容。

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

我將如何限制這樣的用戶/ 1只能看到配置文件,如果這是當前登錄的用戶ID?

Auth::user()->id 

返回登錄ID再次進行測試,但我不知道如何寫一個過濾器,檢查它等於{ID}在URL中。

請幫忙! 謝謝。

回答

6

通過Laravel irc頻道獲得了一些幫助。

這是我走的路。

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

然後在我的路線上做。

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