لو بتشتغل على مشروع في Next.js وعاوز تتحكم في صلاحيات المستخدمين حسب أدوارهم زي Admins و Users فأنت محتاج تبني نظام RBAC. الفكرة ببساطة هي إنك تحدد مين يقدر يعمل إيه بدل ما تكتب شروط في كل مكان 🤔
في الأول: يعني إيه RBAC؟
ببساطه هوا نظام بيحدد مين يقدر يعمل إيه بناءً على دوره في الموقع, بدل ما تفضل تكتب شروط في كل صفحة، بتحدد صلاحيات لكل دور (Role) في مكان واحد.
طيب إزاي نطبقه في Next.js؟
هنمشي مع بعض خطوه بخطوه عشان نبني RBAC كامل باذن الله…
1️⃣ هنعمل تعريف لللأدوار والصلاحيات:
📂 utils/roles.js
– عرفنا الأدوار اللي عندنا وكل دور معاه الصلاحيات بتاعته.
– كده أي حد عنده دور معين، نقدر نعرف بالظبط هو يقدر يعمل إيه.
2️⃣ بعد كدا هنعمل Middleware لحماية الصفحات:
📂 middleware/auth.js
– كتبنا Function checkPermission اللي بتشوف لو الدور عنده الصلاحية المطلوبة ولا لأ.
– كده بدل ما نكرر أكواد التحقق في كل صفحة بنستخدمها في أي مكان عادي.
3️⃣ هنستخدم RBAC في API Routes:
📂 pages/api/protected.js
-
– جبنا دور المستخدم من headers.
– استخدمنا checkPermission عشان نعرف لو مسموح له ولا لأ.
لو مسموح بيرجعله Access Granted.
لو مش مسموح، بنرجّع Error 403
4️⃣ نحمي الصفحات في الـ Frontend:
📂 pages/dashboard.js
– استخدمنا useEffect عشان أول ما المستخدم يدخل الصفحة، نشوف هو أدمن ولا لأ.
– لو مش أدمن، بنحوّله على صفحة “غير مسموح”.
وبكده بقى عندك نظام RBAC متكامل في Next.js، ينظم الصلاحيات بطريقة سهلة وآمنة,
لو عندك أي استفسار، اكتب في الكومنتات..💛
قسم التعليقات
ezzghari
موقع جميل ومفيد اتمنى لك المزيد من التألق
Magdy Atef Zahran رد علي @ezzghari
ان شاء الله