Only allow a single user to register

This commit is contained in:
weeb 2025-05-02 12:34:38 +02:00
parent 628c5c9da6
commit d5dfb12856
2 changed files with 28 additions and 1 deletions

View File

@ -0,0 +1,26 @@
<?php
namespace App\Http\Middleware;
use App\Models\User;
use Closure;
use Illuminate\Http\Request;
use Symfony\Component\HttpFoundation\Response;
class AllowOnlyOneUser
{
/**
* Handle an incoming request.
*
* @param \Closure(\Illuminate\Http\Request): (\Symfony\Component\HttpFoundation\Response) $next
*/
public function handle(Request $request, Closure $next): Response
{
if (User::exists()) {
abort(403, 'Registration is closed.');
}
return $next($request);
}
}

View File

@ -1,6 +1,7 @@
<?php
use App\Http\Controllers\Auth\VerifyEmailController;
use App\Http\Middleware\AllowOnlyOneUser;
use App\Livewire\Auth\ConfirmPassword;
use App\Livewire\Auth\ForgotPassword;
use App\Livewire\Auth\Login;
@ -11,7 +12,7 @@ use Illuminate\Support\Facades\Route;
Route::middleware('guest')->group(function () {
Route::get('login', Login::class)->name('login');
Route::get('register', Register::class)->name('register');
Route::get('register', Register::class)->name('register')->middleware(AllowOnlyOneUser::class);
Route::get('forgot-password', ForgotPassword::class)->name('password.request');
Route::get('reset-password/{token}', ResetPassword::class)->name('password.reset');
});