Loading app/Exceptions/Handler.php +3 −0 Original line number Diff line number Diff line Loading @@ -3,6 +3,9 @@ namespace App\Exceptions; use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler; use Illuminate\Http\Request; use Illuminate\Http\Response; use Symfony\Component\HttpKernel\Exception\HttpException; use Throwable; class Handler extends ExceptionHandler Loading app/Http/Controllers/AuthController.php +2 −0 Original line number Diff line number Diff line Loading @@ -23,4 +23,6 @@ public function login(Request $request) session(['user' => $user]); return redirect('/'); } } app/Http/Middleware/rightChecker.php 0 → 100644 +24 −0 Original line number Diff line number Diff line <?php namespace App\Http\Middleware; use Closure; use Illuminate\Http\Request; class rightChecker { /** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure(\Illuminate\Http\Request): (\Illuminate\Http\Response|\Illuminate\Http\RedirectResponse) $next * @return \Illuminate\Http\Response|\Illuminate\Http\RedirectResponse */ public function handle(Request $request, Closure $next): Mixed { if (!session()->has('user')) { abort(401); } return $next($request); } } routes/api.php +2 −2 Original line number Diff line number Diff line Loading @@ -15,8 +15,8 @@ | */ Route::middleware('auth:sanctum')->get('/dives/{id}/divers', [DivesAPI::class, 'getDivers']); Route::middleware('App\Http\Middleware\rightChecker')->get('/dives/{id}/divers', [DivesAPI::class, 'getDivers']); Route::middleware('auth:sanctum')->get('/user', function (Request $request) { Route::middleware('App\Http\Middleware\rightChecker')->get('/user', function (Request $request) { return $request->user(); }); routes/web.php +19 −15 Original line number Diff line number Diff line Loading @@ -24,46 +24,48 @@ use App\Models\Prerogative; Route::get('/login', function () { Route::get('/login', function () { return view('login', ['wrongPassword' => false]); })->name('login'); Route::post('/login', [AuthController::class, 'login']); Route::get('/', function () { Route::get('/', function () { return view('welcome'); })->name('homepage'); Route::get('/logout', function () { Route::get('/logout', function () { session()->flush(); return redirect('/'); })->name('logout'); Route::middleware('auth:sanctum')->get('/dives', [DivingSignUpController::class, 'show'])->name('dives'); Route::middleware('App\Http\Middleware\rightChecker') ->get('/dives', [DivingSignUpController::class, 'show']) ->name('dives'); Route::get('/test', function() { Route::get('/test', function() { return view('test', ['user' => User::find(1)]); }); Route::get('/dives/list-divers/{id}', function($id){ Route::middleware('App\Http\Middleware\rightChecker') ->get('/dives/list-divers/{id}', function($id){ return view('divingSessions.showParticipants', [ 'users' => DivingSession::find($id)->getParticipants() ]); }); Route::get('/dives/{ds_code}', [DivingSignUpController::class, 'index']); Route::middleware('App\Http\Middleware\rightChecker') ->get('/dives/{ds_code}', [DivingSignUpController::class, 'index']); Route::get('/create/dive', function() Route::middleware('App\Http\Middleware\rightChecker') ->get('/create/dive', function() { return view('create_dive', ['locations' => DivingLocation::all(), 'boats' => Boat::all(), 'levels' => Prerogative::all(), 'users' => User::all()]); }); Route::post('/create/dive', function(Request $request) Route::middleware('App\Http\Middleware\rightChecker') ->post('/create/dive', function(Request $request) { DiveSessionCreation::add($request); return redirect('/'); Loading @@ -73,7 +75,8 @@ return view('drag_and_drop'); }); Route::get('/dive/update/{id}', function($id){ Route::middleware('App\Http\Middleware\rightChecker') ->get('/dive/update/{id}', function($id){ return view('update_dive', ['dive' => DivingSession::find($id), 'locations' => DivingLocation::all(), 'boats' => Boat::all(), Loading @@ -81,7 +84,8 @@ 'users' => User::all()]); }); Route::post('/dive/disable/{id}', function ($id){ Route::middleware('App\Http\Middleware\rightChecker') ->post('/dive/disable/{id}', function ($id){ DivingSession::find($id)->disable(); return redirect('/'); }); Loading
app/Exceptions/Handler.php +3 −0 Original line number Diff line number Diff line Loading @@ -3,6 +3,9 @@ namespace App\Exceptions; use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler; use Illuminate\Http\Request; use Illuminate\Http\Response; use Symfony\Component\HttpKernel\Exception\HttpException; use Throwable; class Handler extends ExceptionHandler Loading
app/Http/Controllers/AuthController.php +2 −0 Original line number Diff line number Diff line Loading @@ -23,4 +23,6 @@ public function login(Request $request) session(['user' => $user]); return redirect('/'); } }
app/Http/Middleware/rightChecker.php 0 → 100644 +24 −0 Original line number Diff line number Diff line <?php namespace App\Http\Middleware; use Closure; use Illuminate\Http\Request; class rightChecker { /** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure(\Illuminate\Http\Request): (\Illuminate\Http\Response|\Illuminate\Http\RedirectResponse) $next * @return \Illuminate\Http\Response|\Illuminate\Http\RedirectResponse */ public function handle(Request $request, Closure $next): Mixed { if (!session()->has('user')) { abort(401); } return $next($request); } }
routes/api.php +2 −2 Original line number Diff line number Diff line Loading @@ -15,8 +15,8 @@ | */ Route::middleware('auth:sanctum')->get('/dives/{id}/divers', [DivesAPI::class, 'getDivers']); Route::middleware('App\Http\Middleware\rightChecker')->get('/dives/{id}/divers', [DivesAPI::class, 'getDivers']); Route::middleware('auth:sanctum')->get('/user', function (Request $request) { Route::middleware('App\Http\Middleware\rightChecker')->get('/user', function (Request $request) { return $request->user(); });
routes/web.php +19 −15 Original line number Diff line number Diff line Loading @@ -24,46 +24,48 @@ use App\Models\Prerogative; Route::get('/login', function () { Route::get('/login', function () { return view('login', ['wrongPassword' => false]); })->name('login'); Route::post('/login', [AuthController::class, 'login']); Route::get('/', function () { Route::get('/', function () { return view('welcome'); })->name('homepage'); Route::get('/logout', function () { Route::get('/logout', function () { session()->flush(); return redirect('/'); })->name('logout'); Route::middleware('auth:sanctum')->get('/dives', [DivingSignUpController::class, 'show'])->name('dives'); Route::middleware('App\Http\Middleware\rightChecker') ->get('/dives', [DivingSignUpController::class, 'show']) ->name('dives'); Route::get('/test', function() { Route::get('/test', function() { return view('test', ['user' => User::find(1)]); }); Route::get('/dives/list-divers/{id}', function($id){ Route::middleware('App\Http\Middleware\rightChecker') ->get('/dives/list-divers/{id}', function($id){ return view('divingSessions.showParticipants', [ 'users' => DivingSession::find($id)->getParticipants() ]); }); Route::get('/dives/{ds_code}', [DivingSignUpController::class, 'index']); Route::middleware('App\Http\Middleware\rightChecker') ->get('/dives/{ds_code}', [DivingSignUpController::class, 'index']); Route::get('/create/dive', function() Route::middleware('App\Http\Middleware\rightChecker') ->get('/create/dive', function() { return view('create_dive', ['locations' => DivingLocation::all(), 'boats' => Boat::all(), 'levels' => Prerogative::all(), 'users' => User::all()]); }); Route::post('/create/dive', function(Request $request) Route::middleware('App\Http\Middleware\rightChecker') ->post('/create/dive', function(Request $request) { DiveSessionCreation::add($request); return redirect('/'); Loading @@ -73,7 +75,8 @@ return view('drag_and_drop'); }); Route::get('/dive/update/{id}', function($id){ Route::middleware('App\Http\Middleware\rightChecker') ->get('/dive/update/{id}', function($id){ return view('update_dive', ['dive' => DivingSession::find($id), 'locations' => DivingLocation::all(), 'boats' => Boat::all(), Loading @@ -81,7 +84,8 @@ 'users' => User::all()]); }); Route::post('/dive/disable/{id}', function ($id){ Route::middleware('App\Http\Middleware\rightChecker') ->post('/dive/disable/{id}', function ($id){ DivingSession::find($id)->disable(); return redirect('/'); });