الصلاحيات المتعددة RBAC: درس من منصة آفاق مع عبدالله عبدالرحيم الكندي
عبدالله عبدالرحيم الكندي يروي دروس الصلاحيات المتعددة RBAC من منصة «آفاق» لحلقات التحفيظ: الدور والنطاق، والتحقق في الخادم، ومصفوفة الصلاحيات قبل الشاشات.

نظام صلاحيات المستخدمين
عبدالله عبدالرحيم الكندي
أول ما يطلب منك عميل «نظام فيه صلاحيات»، تتخيل الموضوع بسيط: مدير يشوف كل شي، وموظف يشوف بعض الأشياء. ثم يبدأ الواقع: معلّم يغطي مكان زميله أسبوعاً، ومشرف مسؤول عن مجموعة حلقات بس، ومعلومات رواتب ما لازم يشوفها إلا أشخاص محددين. عبدالله عبدالرحيم الكندي واجه هذا الواقع في «آفاق»، منصة إدارة حلقات تحفيظ القرآن اللي تجمع الحفظ والتسميع والحضور والرواتب والتقارير، بأربعة مستويات صلاحيات. وهذي القصة بالدروس اللي طلعت منها.
ليش الحلقات مثال ممتاز على الصلاحيات
مجمّع التحفيظ فيه عدة أطراف، وكل طرف يحتاج جزءاً مختلفاً من نفس البيانات. المعلّم يحتاج يسجّل تسميع طلابه وحضورهم بسرعة وبدون تعقيد. الإدارة تحتاج الصورة الكاملة: الحلقات كلها، والتقارير، والرواتب. وبين الطرفين مستويات وسطى. نفس سجل الطالب يُقرأ من أكثر من دور، لكن كل دور يشوف منه شي ويعدّل شي. وهذا بالضبط تعريف المشكلة اللي يحلها RBAC، أي التحكم في الوصول حسب الدور. وفيه تحدٍّ إضافي: المعلّم يستخدم النظام وهو في الحلقة، غالباً من جواله وبين طالب وطالب. فالصلاحيات لازم تكون شبه غير مرئية له: يفتح التطبيق ويلقى حلقته وطلابه مباشرة، بدون قوائم مليانة خيارات ما يحق له يستخدمها.
الدرس الأول: الدور وحده ما يكفي، تحتاج النطاق
لو قلت «المعلّم يقدر يعدّل التسميع»، فأنت ما قلت شي كافي. أي تسميع؟ تسميع طلاب حلقته، مو كل طلاب المجمّع. فالصلاحية الحقيقية لها ثلاثة أجزاء: مين (الدور)، ووش يسوي (الإجراء)، وعلى أي بيانات (النطاق). الأنظمة الضعيفة تطبّق الجزأين الأولين وتنسى الثالث، فيطلع معلّم يقدر يفتح سجل طالب في حلقة ثانية لو غيّر رقماً في الرابط. وهذي ثغرة لها اسم معروف في عالم الأمان: الوصول المباشر لكائن غير مصرّح به.
الدرس الثاني: إخفاء الزر مو حماية
أسهل طريقة تطبّق فيها الصلاحيات إنك تخفي الأزرار عن اللي ما يحق له. وهذا مطلوب للتجربة، لكنه مو أمان. الواجهة تقرر وش يظهر، والخادم يقرر وش يُسمح. كل طلب يوصل للخادم — عرض الرواتب، أو تعديل الحضور، أو حذف طالب — يتحقق من دور صاحبه ونطاقه من جديد، كأن الواجهة غير موجودة. لأن أي شخص عنده أدوات المطوّر في المتصفح يقدر يرسل طلباً بدون ما يلمس أي زر. والاختبار هنا له شكل محدد: تسجّل دخول بحساب معلّم، وتحاول تطلب بيانات حلقة ثانية أو صفحة الرواتب مباشرة من عنوانها. إذا رجع لك أي شي غير رفض واضح، فالحماية ناقصة. وهذا الاختبار يتكرر مع كل ميزة جديدة، مو مرة وحدة قبل الإطلاق.
الدرس الثالث: مصفوفة الصلاحيات قبل الشاشات
قبل تصميم أي شاشة في نظام بهذا الشكل، ينكتب جدول بسيط: الأدوار في الأعمدة، والإجراءات في الصفوف، وفي كل خانة «نعم» أو «لا» أو «ضمن نطاقه». هذا الجدول يصير مرجعاً للمطوّر وللعميل وللاختبار. والأهم إنه يطلّع أسئلة ما كانت بتطلع غير كذا إلا بعد الإطلاق:
- مين يقدر يصحّح تسميعاً انسجّل بالغلط بعد يومين؟ ومين يقدر يحذفه نهائياً؟
- لو غاب المعلّم واستلم الحلقة بديل، هل ياخذ صلاحية مؤقتة على حلقة زميله، ومتى تنتهي تلقائياً؟
- الرواتب: مين يشوف المبالغ، ومين يكفيه يعرف إن الراتب انصرف؟
- التقارير المجمّعة: هل يشوف المشرف أسماء الطلاب، أو أرقاماً إجمالية بس؟
- لما ينتقل طالب من حلقة لحلقة، هل يشوف معلّمه الجديد تاريخه السابق؟
الدرس الرابع: أدوار قليلة واضحة أفضل من عشرين دوراً
فيه إغراء إنك تسوي لكل حالة دوراً جديداً، وبعد سنة يصير عندك عشرين دوراً ما أحد يتذكر الفرق بينها. أربعة مستويات واضحة، مع نطاق مرن لكل مستوى، أسهل في الفهم وأسهل في الصيانة وأقل أخطاء. وإذا جات حالة شاذة، الحل غالباً في النطاق أو في صلاحية مؤقتة، مو في دور خامس. ومع كل تغيير في صلاحيات أي شخص يُسجَّل مين غيّرها ومتى، لأن سؤال «مين عطاه هذي الصلاحية؟» بيجي يوماً ما، ولازم يكون جوابه في السجل مو في ذاكرة أحد. وانتبه لحساب «المدير الأعلى»: كل نظام يحتاج حساباً يقدر يسوي كل شي، لكن عدد أصحابه يكون أقل ما يمكن، واستخدامه للمهام الاستثنائية بس، مو للشغل اليومي.
هذي الدروس ما تخص التحفيظ وحده. أي نظام فيه موظفين وأقسام وبيانات حساسة — عيادة، أو مكتب، أو متجر بفروع — يواجه نفس الأسئلة. وفي منصة أزهل الرقمية يبدأ عبدالله عبدالرحيم بن سنكر الكندي هذا النوع من الأنظمة بالمصفوفة قبل أول سطر كود، لأن تعديل الصلاحيات بعد ما تنبني الشاشات أصعب بكثير من تصميمها صح من البداية.
عندك فكرة؟ الاستشارة الأولى علينا
كلّم عبدالله مباشرة على واتساب — رسالتك توصل له هو، مو لرد آلي. نسمع فكرتك ونقول لك وش تحتاج وكم تكلّف، ببلاش.
مقالات ذات صلة
كل المقالات
ما بعد MVP
عبدالله عبدالرحيم الكندي
عبدالله عبدالرحيم الكندي: ما بعد MVP، متى تضيف ميزة ومتى تقول لا؟
إطار عملي من عبدالله عبدالرحيم الكندي لمرحلة ما بعد إطلاق النسخة الأولى: مصفاة من أربع أسئلة لكل طلب ميزة، والتكلفة اللي ما تنحسب، وكيف تقول لا بدون ما تخسر المستخدم.
اقرأ المقال
السيو المحلي
عبدالله عبدالرحيم الكندي
عبدالله عبدالرحيم الكندي: سيو المدن السعودية بدون صفحات مكررة
عبدالله عبدالرحيم الكندي يعطيك إطار قرار للسيو المحلي في مدن السعودية: متى تستاهل المدينة صفحة خاصة، ومتى تكفي صفحة الخدمة وملف قوقل التجاري، وكيف تتجنب صفحات الأبواب.
اقرأ المقال
التحول الرقمي للمنشآت الصغيرة
عبدالله بن سنكر
عبدالله بن سنكر: التحوّل الرقمي للمنشآت الصغيرة، من وين تبدأ؟
إطار قرار من أربعة أسئلة يقدّمه عبدالله بن سنكر لصاحب المنشأة الصغيرة: كيف تحدد أول خطوة رقمية، ومتى يكفيك حل جاهز، ومتى تبني نظاماً خاصاً، ومتى تحل الأتمتة المشكلة.
اقرأ المقال