1
1
mirror of https://github.com/pterodactyl/panel.git synced 2024-10-27 20:32:28 +01:00
Pterodactyl-Panel/app/Http/Middleware/AdminAuthenticate.php

40 lines
903 B
PHP
Raw Normal View History

<?php
2016-01-20 01:10:39 +01:00
/**
2016-01-20 22:05:16 +01:00
* Pterodactyl - Panel
2017-01-24 23:57:08 +01:00
* Copyright (c) 2015 - 2017 Dane Everitt <dane@daneeveritt.com>.
2016-01-20 01:10:39 +01:00
*
2017-09-26 04:43:01 +02:00
* This software is licensed under the terms of the MIT license.
* https://opensource.org/licenses/MIT
2016-01-20 01:10:39 +01:00
*/
2016-12-07 23:46:38 +01:00
namespace Pterodactyl\Http\Middleware;
use Closure;
class AdminAuthenticate
{
/**
* Handle an incoming request.
*
2017-08-22 05:10:48 +02:00
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
2017-09-05 01:12:13 +02:00
if (! $request->user()) {
if ($request->expectsJson() || $request->json()) {
return response('Unauthorized.', 401);
} else {
return redirect()->guest('auth/login');
}
}
2017-09-05 01:12:13 +02:00
if (! $request->user()->root_admin) {
return abort(403);
}
return $next($request);
}
}