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