add platform

This commit is contained in:
xiaomlove
2021-06-22 18:51:58 +08:00
parent 5a5733cf0b
commit 76a6ad6ed3
5 changed files with 38 additions and 1 deletions

View File

@@ -20,7 +20,7 @@ class Permission
{
/** @var User $user */
$user = $request->user();
if (!$user || !$user->canAccessAdmin()) {
if (!$user || (IS_PLATFORM_ADMIN && !$user->canAccessAdmin())) {
do_log("denied!");
throw new UnauthorizedException('Unauthorized!');
}

View File

@@ -0,0 +1,27 @@
<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Http\Request;
class Platform
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle(Request $request, Closure $next)
{
if (empty(CURRENT_PLATFORM)) {
throw new \InvalidArgumentException("Require platform header.");
}
if (!in_array(CURRENT_PLATFORM, PLATFORMS)) {
throw new \InvalidArgumentException("Invalid platform: " . CURRENT_PLATFORM);
}
return $next($request);
}
}