Files
intaleq_v2/app/Http/Middleware/AdminMiddleware.php
2026-04-22 23:16:23 +03:00

35 lines
1.0 KiB
PHP

<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Http\Request;
/**
* وسيط التحقق من صلاحيات المدير (Admin Role Middleware)
*
* الغرض من الملف:
* حماية المسارات (Routes) التي لا يسمح بالدخول إليها إلا للمدراء فقط.
*
* كيفية العمل:
* 1. يفحص نوع المستخدم المخزن في رمز الـ JWT.
* 2. إذا كان نوع المستخدم ليس "admin"، يرفض الطلب ويرجع خطأ (403 Unauthorized).
* 3. إذا كان مديراً، يسمح للطلب بالمرور للمتحكم (Controller) المعني.
*/
class AdminMiddleware
{
public function handle(Request $request, Closure $next)
{
$userType = $request->input('_jwt_user_type');
if ($userType !== 'admin') {
return response()->json([
'status' => 'failure',
'message' => 'Unauthorized — admin access required',
], 403);
}
return $next($request);
}
}