56 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			PHP
		
	
	
			
		
		
	
	
			56 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			PHP
		
	
	
| <?php
 | |
| 
 | |
| namespace App\Http\Controllers\Auth;
 | |
| 
 | |
| use App\Http\Controllers\Controller;
 | |
| use App\Http\Requests\Auth\LoginRequest;
 | |
| use Illuminate\Http\RedirectResponse;
 | |
| use Illuminate\Http\Request;
 | |
| use Illuminate\Support\Facades\Auth;
 | |
| use Illuminate\Support\Facades\Route;
 | |
| use Inertia\Inertia;
 | |
| use Inertia\Response;
 | |
| 
 | |
| class AuthenticatedSessionController extends Controller
 | |
| {
 | |
|     /**
 | |
|      * Display the login view.
 | |
|      */
 | |
|     public function create(): Response
 | |
|     {
 | |
|         return Inertia::render('auth/login', [
 | |
|             'canResetPassword' => Route::has('password.request'),
 | |
|             'status' => session('status'),
 | |
|         ]);
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Handle an incoming authentication request.
 | |
|      */
 | |
|     public function store(LoginRequest $request): RedirectResponse
 | |
|     {
 | |
|         $request->authenticate();
 | |
| 
 | |
|         $request->session()->regenerate();
 | |
| 
 | |
|          // Redirect berdasarkan role user
 | |
|          $user = Auth::user();
 | |
| 
 | |
|         return redirect()->intended(route('dashboard', absolute: false));
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Destroy an authenticated session.
 | |
|      */
 | |
|     public function destroy(Request $request): RedirectResponse
 | |
|     {
 | |
|         Auth::guard('web')->logout();
 | |
| 
 | |
|         $request->session()->invalidate();
 | |
| 
 | |
|         $request->session()->regenerateToken();
 | |
| 
 | |
|         return redirect('/');
 | |
|     }
 | |
| }
 |