. * * This software is licensed under the terms of the MIT license. * https://opensource.org/licenses/MIT */ namespace Pterodactyl\Http\Middleware; use Closure; class AdminAuthenticate { /** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure $next * @return mixed */ public function handle($request, Closure $next) { if (! $request->user()) { if ($request->expectsJson() || $request->json()) { return response('Unauthorized.', 401); } else { return redirect()->guest('auth/login'); } } if (! $request->user()->root_admin) { return abort(403); } return $next($request); } }