我在 Laravel 5.3 中抓住当前经过身份验证的用户时遇到问题。更具体地说,我正在向我的 api.php 文件发出 HTTP 请求,该文件的路由定义为 api/test/create。
控制器代码:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Test;
class TestController extends Controller
{
public function store(Request $request) {
$this->validate($request, [
'test_name' => 'required',
'youtube_id' => 'required',
'is_live_test' => 'required',
]);
//Laravel 5.3 allows to get the user via request
$user = $request->user;
if($user) {
return 'We are logged in';
} else {
return 'We are not logged in';
}
return '';
}
}
每次返回“我们都没有登录”。为了测试这一点,我在我的刀片文件中引用了{{Auth::check()}},并返回为“1”。我不太清楚为什么 Controller 无法识别用户已登录;有任何想法吗?
我尝试了引用身份验证的不同变体,包括导入 Facade 并执行 Auth::check(),Auth::user(),但无论如何都会带来相同的结果。
3 回答
获取用户对象:
要么:
您可以使用:
也
也
您可以直接在 Controller 中使用**Auth::check()**方法。
获取用户数据做这样的事情
等等