2016-11-29 1 views
0

Forms 디렉터리가 laravel의 public 폴더에 있다고 가정합니다.인증 된 사용자에 대해서만 laravel의 공용 폴더에있는 디렉터리에 대한 액세스를 제한합니다.

이제는 인증 된 사용자 만 액세스 할 수 있습니다. 권한이없는 사용자가 열려고하거나 권한이없는 사용자 (예 : 이미지, 동영상 등)의 하위 디렉토리에 오류 메시지가 표시되면 액세스 할 수 있습니다.

나는 다음과 같은 경로 그룹을 추가했지만 제대로 작동하지 않습니다

Route::group(['prefix' => 'Forms', 'middleware' => 'auth'], function() { 
     // what Can I do here ? 
}); 

내가 그것을 위해 무엇을 할 수 있습니까?

+0

"forms"폴더 내에서 사용자가 수행하는 작업은 무엇입니까? – scottevans93

+0

@ scottevans93, 일부 다른 하위 디렉토리에 승인 된 사용자가 액세스 할 수있는 이미지와 비디오가 포함되어 있습니다. –

+0

컨트롤러를 사용하여 제공해야합니다. 그렇지 않으면 직접 HTTP 액세스가 Laravel Auth System – scottevans93

답변

1

사용자의 콘텐츠를 숨기려면 공용 폴더 대신 로컬 디스크를 사용해야한다고 말합니다. 당신은 당신이 전을 위해 와일드 카드 경로

를 사용할 수있는 디렉토리를 제한하려는 경우 아직 여기 https://laravel.com/docs/5.3/filesystem

를보십시오.

Route::get('/forms/{path?}', function() { 
    if(!auth()->user()) { 
     return 'unauthorized'; 
    } 
    // if authenticated try to look for the file with requested path and return its content 
    return File::get(public_path(ltrim($_SERVER['REQUEST_URI'],'/'))); 
})->where(['path' => '.*']); 
관련 문제