2016-03-17 53 views
0

我在public laravel文件夹中有一个名为fileManager的目录。现在我想通过中间件来控制访问权限因此,无签名或未登录的用户无法直接访问它。为公共laravel文件夹中的目录定义路由

默认情况下,任何用户都可以在浏览器中键入目录名称并导航到该目录。 我希望能够像这样定义,可以申请和认证中间件路线:

Route::get('/fileManager', ['middleware' => 'auth', function() { 
    // 
}]); 

这不仅是的,我有公共文件夹中的许多目录,也许我想控制用户访问这些。

我该怎么做?

+0

我想你应该将这些目录移动到'storage'目录,并根据请求发送响应。 https://laravel.com/docs/5.2/filesystem。我不认为你可以限制在公共文件夹的访问。 – nextt1

回答

0

对于创建中间件在文件中创建类

应用程序/ HTTP /中间件

后创建

在阵列添加到您的kernel.php类

protected $routeMiddleware = [ 
      'auth' => \App\Http\Middleware\Authenticate::class, 
      'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class, 
      'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class, 
      'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class, 

      'newMiddleware' => pahttoclass 
     ]; 
+0

我的问题不在于定义中间件 –

0

有许多方法来做到这一点Laravel。你可以选择你喜欢的任何人。但我总是在每个controller中使用__construct()方法。只需将此块写入控制器即可。

public function __construct() 
{ 
    $this->middleware('auth'); 
} 

这将保护所有methods只有在这种controller从未经授权的用户。

+0

我的问题不在于定义中间件 –

相关问题