包开发 - 验证检查不起作用

时间:2016-08-29 01:17:35

标签: php laravel authentication package laravel-5.3

为了开发包,我制作了一个简单的新Laravel 5.3应用程序。我遵循了here的说明以及用户名为Janis的评论中的一些修改。一切都很完美。

然后我决定用

升级已发布的视图
from django.conf.urls import include, url
from django.contrib import admin

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^app/', include('app.urls')),
]

该应用的当前状态已上传至Github here

问题

检查不起作用的视图。我总是有@if(Auth::check()) ID: {{Auth::id()}}. @else not logged in @endif 。 如何让not logged in工作? 在浏览器的另一个标签中,我记录了相关内容。

提示

我不确定如何关注this hint

要做

请指导我如何在视图中使Auth::check()正常工作。

3 个答案:

答案 0 :(得分:2)

自Laravel 5以来,routes.php中的任何路由都会自动使用Web中间件,但这不会与您的包路由一起发生。

要在您的软件包控制器和视图中使用Laravel的身份验证,您需要使用以下内容强制将web中间件用于您的软件包route.php:

Route::group(['middleware' => 'web'], function () {
  // your package routes here
});

答案 1 :(得分:0)

试试这个工匠命令

php artisan cache:clear

答案 2 :(得分: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';
    });