28 lines
1.3 KiB
PHP
28 lines
1.3 KiB
PHP
<?php
|
|
|
|
use App\Http\Controllers\AdminController;
|
|
use App\Http\Controllers\DashboardController;
|
|
use App\Http\Controllers\LoginController;
|
|
use Illuminate\Support\Facades\Route;
|
|
|
|
// Authentication & Portal landing
|
|
Route::get('/', [LoginController::class, 'showLoginForm']);
|
|
Route::get('/login', [LoginController::class, 'showLoginForm'])->name('login');
|
|
Route::post('/login/admin', [LoginController::class, 'adminLogin'])->name('login.admin');
|
|
Route::post('/logout', [LoginController::class, 'logout'])->name('logout');
|
|
Route::get('/logout', [LoginController::class, 'logout']); // For ease of development/testing via GET
|
|
|
|
// Microsoft OAuth endpoints
|
|
Route::get('/auth/microsoft/redirect', [LoginController::class, 'redirectToMicrosoft'])->name('auth.microsoft.redirect');
|
|
Route::get('/auth/microsoft/callback', [LoginController::class, 'handleMicrosoftCallback'])->name('auth.microsoft.callback');
|
|
|
|
// User Dashboard Portal (requires standard user role)
|
|
Route::middleware(['auth', 'role:user'])->group(function () {
|
|
Route::get('/dashboard', [DashboardController::class, 'index'])->name('dashboard');
|
|
});
|
|
|
|
// Admin Control Panel (requires admin role)
|
|
Route::middleware(['auth', 'role:admin'])->group(function () {
|
|
Route::get('/admin/dashboard', [AdminController::class, 'index'])->name('admin.dashboard');
|
|
});
|