Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Authentication Auth::user()在用户登录时返回null,但在刀片模板中工作_Authentication_Laravel 6 - Fatal编程技术网

Authentication Auth::user()在用户登录时返回null,但在刀片模板中工作

Authentication Auth::user()在用户登录时返回null,但在刀片模板中工作,authentication,laravel-6,Authentication,Laravel 6,我使用的是Laravel 6,在控制器存储方法中,Auth::user()返回null,即使用户已登录但在刀片模板中工作。我也遇到过类似的问题,但没有任何效果 我张贴到一个API路线,我不知道这是否是原因。请提供帮助。如果您没有调整默认应用程序附带的apiweb组或RouteServiceProvider,您的api路由(routes/api.php)中将不会有任何会话支持。API通常是无状态的,因此不支持会话。如果您想使用内置身份验证系统处理身份验证,那么您需要处理基于令牌的系统。为您设置的默

我使用的是Laravel 6,在控制器存储方法中,
Auth::user()
返回
null
,即使用户已登录但在刀片模板中工作。我也遇到过类似的问题,但没有任何效果


我张贴到一个API路线,我不知道这是否是原因。请提供帮助。

如果您没有调整默认应用程序附带的
api
web组或
RouteServiceProvider
,您的api路由(
routes/api.php
)中将不会有任何会话支持。API通常是无状态的,因此不支持会话。如果您想使用内置身份验证系统处理身份验证,那么您需要处理基于令牌的系统。为您设置的默认
api
guard将使用
TokenGuard
,它将在请求中查找要传递的令牌,以对用户进行身份验证。您需要使用参数
api
分配中间件
auth
,以指定
api
保护,
auth:api

如果您现在将请求正确地发送到其中一个端点(包括令牌),您将从
Auth::user()
$request->user()
等返回一个用户

auth:api

请阅读整个章节,以便更好地了解如何将此类防护与内置身份验证系统结合使用:


如果您不想处理“无状态”API,而希望使用会话,则只需将您的API路由移动到
web.php
文件,并在它们前面加上
API

“我正在发布到一个API路由,我不确定这是否是原因。”-很可能是这样<代码>API路由及其关联的控制器未配置为使用
Auth()
逻辑(通过
中间件
)。API应该是无状态的。它们可以很好地使用身份验证系统,它们只是使用一个不使用会话的不同防护