Sejak Laravel 5.3, fungsi sedemikian tidak boleh digunakan dalam Pengawal (kerana Sesi belum mula berfungsi)__construct()
方法中使用Auth::check()
和Auth::user()
(Anda boleh rujuk dokumentasi rasmi di bahagian Pengawal,
Tetapi kaedah ini tidak sesuai untuk senario ini)
if (Auth::check()) {
$user = Auth::user()
}
Satu-satunya cara yang malas pada masa ini ialah Pembolehubah global Pengawal Saya mencari di Google dan mendapati seseorang menggunakan kaedah untuk melakukannya sebelum ini, tetapi App::before()
kaedah ini nampaknya telah dibatalkan dalam 5.4?.
Perkara yang dilaksanakan menggunakan Config semuanya dipecahkan. Ia jelas tidak sesuai di sini.
Terima kasih kepada @安正超 untuk penyelesaian yang disediakan di Laravel China: Bagaimana untuk mendapatkan pengguna log masuk dalam pengawal Laravel 5.3+
Pertama sekali, pengesahan pengguna boleh dikawal sepenuhnya melalui perisian tengah, dan tidak sesuai untuk meletakkannya dalam pembina pengawal.
Selain itu,
Container
adalah perkara yang baik. Ia bukan sahaja dapat menyelamatkan kejadian, tetapi juga menyelamatkan beberapa pembolehubah global?Middleware ialah dokumentasi middleware laravel pilihan terbaik anda