laravel12/app/Http/Controllers/LoginController.php
2025-12-06 18:58:09 +09:00

58 lines
1.4 KiB
PHP

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Validation\ValidationException;
class LoginController extends Controller
{
public function showLoginForm()
{
if (Auth::check()) {
return redirect()->route('dashboard');
}
return view('login');
}
public function login(Request $request)
{
try {
$credentials = $request->validate([
'email' => ['required', 'email'],
'password' => ['required'],
]);
} catch (ValidationException $e) {
return redirect()
->back()
->withErrors($e->errors())
->withInput()
->with('error', '입력 값 검증 실패');
}
if (Auth::attempt($credentials, false)) {
$request->session()->regenerate();
return redirect()
->intended('/')
->with('success', '로그인에 성공하였습니다.');
}
return redirect()
->back()
->withInput()
->with('error', '입력한 자격증명이 올바르지 않습니다.');
}
public function logout(Request $request)
{
Auth::logout();
$request->session()->invalidate();
$request->session()->regenerateToken();
return redirect()->route('login');
}
}