'Login', ]); } // public function authenticate(Request $request) // { // $customMessages = [ // 'required' => 'Kolom :attribute wajib diisi.', // ]; // $credentials = $request->validate([ // 'username' => 'required', // 'password' => 'required' // ], $customMessages); // if (Auth::attempt($credentials)) { // $request->session()->regenerate(); // return redirect()->intended('/dashboard'); // } // return back()->with('loginError', 'Login Failed'); // } // public function authenticate(Request $request) // { // $customMessages = [ // 'required' => 'Kolom :attribute wajib diisi.', // ]; // // Validasi input // $request->validate([ // 'username' => 'required', // 'password' => 'required' // ], $customMessages); // // Ambil kredensial pengguna dari permintaan // $username = $request->input('username'); // $password = $request->input('password'); // // Cari pengguna berdasarkan username // $user = User::where('username', $username)->first(); // // Verifikasi kata sandi pengguna // if ($user) { // // Jika pengguna ditemukan, tetapi kata sandi salah // if ($password !== $user->password) { // return back()->with('loginError', 'Password salah untuk username ' . $username); // } // // Jika verifikasi berhasil, autentikasi pengguna // Auth::login($user); // // Regenerasi session // $request->session()->regenerate(); // // Redirect ke halaman yang dimaksud // return redirect()->intended('/dashboard'); // } // // Jika pengguna tidak ditemukan // return back()->with('loginError', 'Username tidak ditemukan'); // } public function authenticate(Request $request) { $customMessages = [ 'required' => 'Kolom :attribute wajib diisi.', ]; // Validasi input $request->validate([ 'username' => 'required', 'password' => 'required' ], $customMessages); // Ambil kredensial pengguna dari permintaan $username = $request->input('username'); $password = $request->input('password'); // Cari pengguna berdasarkan username $user = User::where('username', $username)->first(); // Verifikasi kata sandi pengguna if ($user) { // Jika kata sandi cocok if ($password === $user->password) { // Jika verifikasi berhasil, autentikasi pengguna Auth::login($user); // Regenerasi session $request->session()->regenerate(); // Redirect ke halaman yang dimaksud return redirect()->intended('/dashboard'); } else { // Simpan username dalam session untuk digunakan kembali jika autentikasi gagal session(['username' => $username]); // Jika kata sandi tidak cocok, kembalikan ke halaman login dengan pesan kesalahan return back()->with('loginError', 'Password salah. untuk username ' . $username . ' Silakan coba lagi.'); } } else { // Jika pengguna tidak ditemukan, hapus session username $request->session()->forget('username'); // Jika pengguna tidak ditemukan return back()->with('loginError', 'Username tidak ditemukan'); } } public function logout(Request $request) { Auth::logout(); $request->session()->invalidate(); $request->session()->regenerateToken(); return redirect('/'); } }