|
@@ -9,6 +9,7 @@ use Illuminate\Support\Facades\Route;
|
|
|
use Spatie\Permission\Exceptions\UnauthorizedException;
|
|
|
use Symfony\Component\HttpFoundation\Response;
|
|
|
use App\Models\Enums\PermissionType;
|
|
|
+use Symfony\Component\HttpKernel\Event\ExceptionEvent;
|
|
|
|
|
|
class CheckPermission
|
|
|
{
|
|
@@ -23,11 +24,15 @@ class CheckPermission
|
|
|
|
|
|
$permission=$this->RouteGetType($request,$permission);
|
|
|
|
|
|
- if (Auth::user()->hasPermissionTo($permission)) {
|
|
|
- return $next($request);
|
|
|
+ if (!Auth::user()->hasPermissionTo($permission)) {
|
|
|
+ throw UnauthorizedException::forPermissions([$permission]);
|
|
|
+ }
|
|
|
+ //检查公司是否被限制访问
|
|
|
+ if (Auth::user()->company()->review_status == CompanyReviewStatus::REJECTED){
|
|
|
+ throw new \Exception('Companies are restricted from accessing');
|
|
|
}
|
|
|
|
|
|
- throw UnauthorizedException::forPermissions([$permission]);
|
|
|
+ return $next($request);
|
|
|
}
|
|
|
|
|
|
public function RouteGetType(Request $request,string $permission){
|