我在Laravel 5.4中創建了一個多重驗證測試。它使用自定義中間件,自定義Eloquent提供程序等。身份驗證流程正在運行,我可以通過兩種方式登錄。但是,如果用戶登錄,在家庭控制器中,當我想用Auth::user()
或Auth::guard()->user()
檢查用戶時,它是空的。 Auth::guard()
也是空的。但我不明白,爲什麼?!它應該包含登錄的用戶實例,不應該嗎?Laravel 5.4 Multi auth - Auth :: guard() - > user()empty
另外,$request->getUserResolver()
說,後衛是空... o.O
我做了什麼錯?
Here it is我的測試回購,如果你想檢查我的代碼。
預先感謝您!
編輯1:
在\app\Http\Controllers\Employee\HomeController.php
Auth::guard()->user()
的和Auth::user()
是空的。
namespace App\Http\Controllers\Employee;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
class HomeController extends Controller
{
public function __construct(Request $request)
{
$this->middleware('auth.employee:employee');
}
public function index(Request $request)
{
$users[] = Auth::user();
$users[] = Auth::guard()->user();
$users[] = Auth::guard('employee')->user();
dd($users);
return view('employees.home.index');
}
}
在此處顯示相關代碼是一個不錯的主意。 – Chay22
上次我看到一個人只是把一個鏈接到他們的GitHub回購一個帖子,GitHub已經下降了大約一個小時,問題得到了downvoted。真實的故事。 – apokryfos
@ Chay22你想讓我解釋我的問題中的所有步驟(帶有代碼snipets)嗎?我是如何實現多重認證的? –