0

为了开发包,我制作了一个简单的全新 Laravel 5.3 应用程序。我已按照此处的说明以及名为 Janis 的用户在评论中进行了一些修改。一切都很完美。

然后我决定用

@if(Auth::check())
    ID: {{Auth::id()}}.
@else
    not logged in
@endif

应用程序的当前状态在这里上传到 Github 。

问题

检查的视图不起作用。我总是有not logged in. 如何制作Auth::check()作品?在我浏览器的另一个选项卡中,我已正确记录。

一个提示

我不知道如何遵循这个提示

去做

请指导我如何Auth::check()在视图中制作作品。

4

3 回答 3

3

从 Laravel 5 开始,routes.php 中的任何路由都会自动使用 web 中间件,但这不会发生在你的包路由中。

要在你的包控制器和视图中使用 Laravel 的身份验证,你需要在你的包 route.php 中强制使用 Web 中间件,使用类似:

Route::group(['middleware' => 'web'], function () {
  // your package routes here
});
于 2016-08-29T02:54:00.090 回答
0

那么试试这个工匠命令

php artisan cache:clear
于 2016-08-29T01:26:18.130 回答
0

这是我的服务提供商中我的包裹路线的结构。

您唯一需要做的就是为您的路线添加“网络”中间件

$routeConfig = [
        'namespace' => config('banasher.controllers.namespace')."\Panel",
        'prefix'    => 'panel',
        'as'        => 'panel.',
        //TODO: add middleware
        'middleware' => ['web','auth']
    ];
    $this->getRouter()->group($routeConfig, function() {
        require __DIR__.'\routes\banasher.php';
    });
于 2019-05-03T15:49:10.690 回答