Log masuk/pendaftaran tersuai Laravel 10 tidak memasuki halaman papan pemuka
P粉162773626
2023-09-05 14:04:13
<p>Saya cuba membuat log masuk/pendaftaran Laravel 10 tersuai saya sendiri kerana saya tidak mahu menggunakan pakej breez kerana saya mahu belajar cara melakukan log masuk/pendaftaran sendiri. </p>
<p>Tetapi saya nampaknya tidak dapat mengesahkan ke halaman papan pemuka. </p>
<p>Saya menggunakan pernyataan if <code>if(Auth::check())</code> pada fungsi papan pemuka untuk mengesahkan pengguna dalam pangkalan data. </p>
<p>Tetapi ini tidak berfungsi untuk saya kerana saya terus menerima mesej ralat daripada mengubah hala semula ke halaman log masuk (<strong>Ini hanya berlaku apabila saya mendaftarkan pengguna baharu ke dalam pangkalan data</ strong>), tetapi setiap kali saya cuba log masuk saya menerima mesej kejayaan daripada fungsi log masuk (<strong>Lihat kod selanjutnya</strong>) semasa masih dalam halaman log masuk. </p>
<p><strong>AuthController (papan pemuka): </strong></p>
<pre class="brush:php;toolbar:false;">papan pemuka fungsi awam(): Lihat
{
if(Auth::check()) {
return view('auth.dashboard');
}
return view('auth.login')->with('error', 'Anda tidak dibenarkan mengakses');
}</pre>
<p><strong>AuthController (log masuk): </strong></p>
<pre class="brush:php;toolbar:false;">public function loginPost(Request $request): RedirectResponse
{
$request->validate([
'email' => 'diperlukan',
'kata laluan' => 'diperlukan'
]);
$credentials = $request->only('email', 'password');
if(Auth::attempt($credentials)) {
$request->session()->regenerate();
return redirect()->intended(route('dashboard'))->with('berjaya', 'Anda telah berjaya log masuk');
}
return redirect(route('login'))->with('error', 'Oppes! Anda telah memasukkan kelayakan tidak sah');
}</pre>
<p><strong>web.php</strong></p>
<pre class="brush:php;toolbar:false;">Route::get('/register', [AuthController::class, 'register'])->name('register');
Route::post('/register', [AuthController::class, 'registerPost'])->name('register.post');
Route::get('/login', [AuthController::class, 'login'])->name('login');
Route::post('/login', [AuthController::class, 'loginPost'])->name('login.post');
Route::get('/dashboard', [AuthController::class, 'dashboard'])->name('dashboard');
Laluan::post('/logout', [AuthController::class, 'logout'])->middleware('auth')->name('logout');</pre>
<p>Saya belum menemui sebarang penyelesaian lagi, jadi jika sesiapa boleh membantu saya, saya akan berterima kasih. </p>
hii, fungsi log keluar anda dilindungi oleh middleware, anda juga perlu menambah middleware penghalaan papan pemuka, anda boleh mengumpulkan laluan yang memerlukan middleware pengesahan.
Laluan anda
Pengawal anda:
Bilah log masuk anda
Halaman pendaftaran anda
Saya rasa ini akan menyelesaikan semua keraguan anda