27 lines
550 B
PHP
Raw Normal View History

2022-12-14 19:25:52 +08:00
<?php
namespace Modules\Permissions\Middlewares;
use Illuminate\Http\Request;
use Modules\Permissions\Exceptions\PermissionForbidden;
use Modules\User\Models\User;
class PermissionGate
{
public function handle(Request $request, \Closure $next)
{
if ($request->isMethod('get')) {
2022-12-23 19:47:13 +08:00
return $next($request);
2022-12-14 19:25:52 +08:00
}
/* @var User $user */
$user = $request->user(getGuardName());
if (! $user->can()) {
throw new PermissionForbidden();
}
return $next($request);
}
}