【发布时间】:2016-03-10 15:51:32
【问题描述】:
我的身份验证在登录时执行此操作。
if (Auth::attempt($userdata)) {
dd(Auth::user()); //this shows the user just fine,
//which proves that the auth driver is working.
return redirect()->intended('dashboard');
}
但是,在重定向到仪表板之后。看来身份验证没有持久化。如果我这样做 dd(Auth::user()) 甚至只是 Auth::check() 它返回 null。
路线如下:
Route::group(['middleware' => ['web']], function () {
Route::get('test',function(){
dd(Auth::user()); //returns null
echo Auth::user()->name; // returns Trying to get property of non-object
});
});
我做错了什么?
这很奇怪,昨晚它还在工作。它有点神奇地停止了工作。
【问题讨论】:
-
如果您在
dd之后attempt,则会话不一定保持不变。如果您只是返回一个空字符串作为响应而不是重定向,然后手动转到测试路由,会发生什么? -
另外,您可以通过调用
login来代替attempt进行进一步调试,并强制登录用户。这至少可以规避实际授权的潜在问题。这很可能是 cookie 或会话问题 :)
标签: php laravel authentication laravel-5.2