email; $nameAndUsername = explode('@', $email)[0]; $user = User::create([ 'name' => $nameAndUsername, 'username' => $nameAndUsername, 'email' => $email, 'password' => Hash::make($request->password), 'id_role' => 2, ]); DB::commit(); return redirect('/')->with('msg', ''); } catch (\Exception $e) { DB::rollBack(); return back()->withInput()->withErrors(['email' => 'Daftar akun gagal. Silakan coba lagi.']); } } public function login() { return view('auth.login'); } public function authenticate(Request $request): RedirectResponse { $credentials = $request->validate([ 'email' => ['required'], 'password' => ['required'], ]); $cekDataPengguna = User::where('email', $request->email)->first(); if ($cekDataPengguna) { if (Auth::attempt($credentials)) { $request->session()->regenerate(); if (Auth::user()->id_role == '1') { return redirect('admin/dashboard'); } elseif (Auth::user()->id_role == '2') { return redirect('dashboard'); } elseif (Auth::user()->id_role == '3') { return redirect('editor-naskah/dashboard'); } elseif (Auth::user()->id_role == '4') { return redirect('editor-akuisisi/dashboard'); } else { return redirect('pengelola/dashboard'); } } else { return back()->withInput()->with( 'msg', '' ); } } return back()->withInput()->with('msg', ''); } public function logout(Request $request) { Auth::logout(); $request->session()->invalidate(); $request->session()->regenerateToken(); return redirect('/'); } }