在公共laravel文件夹

时间:2016-03-17 08:22:05

标签: php laravel

我在fileManager laravel文件夹中有一个名为public的目录。现在我想控制通过中间件访问它所以无法签名或未登录的用户无法直接访问它。

默认情况下,任何用户都可以在浏览器中键入目录名称并导航到该目录。 我希望能够定义一个可以应用和认证中间件的路由:

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

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

我该怎么做?

2 个答案:

答案 0 :(得分: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
        ];

答案 1 :(得分:0)

有很多方法可以做这个Laravel。你可以选择你喜欢的任何人。但我总是在每个__construct()中使用controller方法。只需在控制器中写下这个块。

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

它只会保护此methods中的所有controller免受未经授权的用户的攻击。<​​/ p>