validate([ 'email' => 'required|email', 'password' => 'required', ]); if (Auth::attempt($credentials)) { $request->session()->regenerate(); return redirect()->intended(url('/dashboard')); } return back()->withErrors([ 'email' => 'Email atau password salah.', ])->onlyInput('email'); } public function register(Request $request) { $validated = $request->validate([ 'name' => 'required|string|max:255', 'email' => 'required|string|email|max:255|unique:users', 'password' => 'required|string|min:8|confirmed', 'role' => 'required|in:admin,user', ], [ 'role.required' => 'Pilih jenis akun terlebih dahulu.', 'role.in' => 'Jenis akun tidak valid.', ]); $user = User::create([ 'name' => $validated['name'], 'email' => $validated['email'], 'password' => Hash::make($validated['password']), 'role' => $validated['role'], ]); Auth::login($user); return redirect(url('/dashboard')); } public function logout(Request $request) { Auth::logout(); $request->session()->invalidate(); $request->session()->regenerateToken(); return redirect(url('/')); } }