Php Laravel 5.2登录会话未持久化

Php Laravel 5.2登录会话未持久化,php,laravel,laravel-5,laravel-5.2,cartalyst-sentinel,Php,Laravel,Laravel 5,Laravel 5.2,Cartalyst Sentinel,我一直在使用在Laravel5.2上实现一个简单的身份验证系统 因此,上述代码在验证代码之后输出登录成功。但是,登录状态不会持久化到其他请求。ie:如果我从其他请求中检查身份验证状态,则表示我未登录 // Route : test-login echo \Sentinel::check() ? 'User is logged in' : 'User is not logged in'; 我甚至尝试使用\Auth::trunt实现defaut-laravel身份验证。但是,这也给了同样的东西 非

我一直在使用在Laravel5.2上实现一个简单的身份验证系统

因此,上述代码在验证代码之后输出
登录成功
。但是,登录状态不会持久化到其他请求。ie:如果我从其他请求中检查身份验证状态,则表示我未登录

// Route : test-login
echo \Sentinel::check() ? 'User is logged in' : 'User is not logged in';
我甚至尝试使用
\Auth::trunt
实现defaut-laravel身份验证。但是,这也给了同样的东西


非常感谢您在这方面提供的任何帮助。

在Laravel 5.2中,您需要将
web
group middlewere应用到您不想让会话正常工作的所有路线。这是Laravel 5.1的主要变化

请看

默认routes.php文件目前如下所示:

Route::group(['middleware' => ['web']], function () {
    // here you should put your routes
});
编辑


您还可以直接查看
middlewareGroups
属性,了解为
web
组中间件启动了哪些中间件

这是一个全新的Laravel 5.2项目吗?你能展示你的
routes.php
文件吗?你的
login
test login
路由在
web
中间件组中吗?@MarcinNabiałek:这是一个全新的laravel 5.2项目,我想我解决了这个问题。正如@patricus提到的,我的路线不在
web
中间件中。在我将所有路线移动到
web
middleware@nauphal这就是为什么我问这个问题,请看我的回答。拉威尔越来越糟糕了。这些新版本一次又一次地变得更加复杂。@manix我不同意。您对新版本的软件有什么期望?可能是新函数,当添加新函数时,您总是需要增加应用程序的复杂性。然而,我可以同意,文档缺少详细的描述,所以有时很难弄清楚它是如何工作的。如果功能适合您,您可以在Laravel上使用旧版本。不幸的是,它对我不起作用(即使是新安装的Laravel 5.2.29)。顺便说一句,目前,对于文档,“默认的
routes.php
文件由
RouteServiceProvider
加载,并自动包含在
web
中间件组中”是。在5.2中,中间件web组默认添加到App\Http\Controllers命名空间中的路由中。查看Providers/RouteServiceProvider.php文件中的mapWebRoutes函数。在laravel 5.5中,对于routes/web.php中的所有路由,默认情况下这是在RouteServiceProvider中完成的。定义两次可能会导致问题
Route::group(['middleware' => ['web']], function () {
    // here you should put your routes
});