为了开发包,我制作了一个简单的新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()
正常工作。
答案 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';
});