2013-04-01 5 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!! 
})); 

어떻게 그 사용자 ID를 현재 로그인 한 경우, 그래서 사용자/1 만 프로필을 볼 수이 제한 것인가?

Auth::user()->id 

는 테스트 할 ID 로그인 반환하지만 나는 그것이 URL에 {ID} 동등하게 검사하는 필터를 작성하는 방법을 작동하지 않을 수 있습니다.

도와주세요! 감사합니다. .

답변

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]'));