في بداية المشروع يبدو أن هناك دورين فقط: «مدير» و«مستخدم». وبعد ستة أشهر يظهر المديرون والمحاسبون والشركاء الخارجيون والعملاء الذين يحتاجون إلى الوصول إلى بياناتهم، فتبدأ كتابة الصلاحيات في الكود حالة بحالة، وهكذا تولد الثغرات والأخطاء. لذلك يستحق نموذج الوصول التصميم مسبقاً، وهو من المهام الأساسية في تطوير تطبيقات الويب.
باختصار: افصل بين محورين: ما البيانات التي يصل إليها المستخدم (المستأجر أو المؤسسة أو المشروع)، وما الإجراءات التي يمكنه تنفيذها (الدور والصلاحيات). تحقق من الصلاحيات على الخادم في كل طلب وسجّل الإجراءات المهمة.
تعدد المستأجرين: لمن هذه البيانات
إذا استخدمت شركات مختلفة المنتج فيجب عزل بيانات كل منها. أبرز الأساليب:
| الأسلوب | كيف يعمل | متى يناسب |
|---|---|---|
| قاعدة مشتركة بمعرّف المستأجر | كل سجل يحمل معرّف المؤسسة | معظم خدمات SaaS وبداية سريعة |
| مخطط لكل مستأجر | مجموعة جداول مستقلة لكل عميل | متطلبات عزل أعلى |
| قاعدة بيانات لكل مستأجر | عزل كامل | العملاء الكبار والمتطلبات التنظيمية |
نماذج الصلاحيات
- القائم على الأدوار (RBAC): أدوار بمجموعات صلاحيات: مالك ومدير ومشرف ومشاهد. بسيط وواضح.
- صلاحيات حسب الموارد: عرض وإنشاء وتعديل وحذف لكل قسم، وهو أكثر مرونة ومناسب لأنظمة CRM والمكاتب الخلفية.
- القواعد القائمة على السمات (ABAC): الوصول يعتمد على الخصائص مثل «المدير يرى صفقاته فقط». قوي لكن صيانته أصعب.
ما يجب تضمينه من البداية
- معرّف المؤسسة في كل جدول أعمال.
- التحقق من الصلاحيات على الخادم لا مجرد إخفاء الأزرار في الواجهة.
- دعوات المستخدمين بدور محدد ورابط ينتهي صلاحيته.
- سجل تدقيق: من غيّر ماذا ومتى.
- صلاحيات مستقلة لتصدير البيانات وحذفها.
أخطاء شائعة
- التحقق من الصلاحيات في الواجهة فقط، فتكون واجهة البرمجة مفتوحة لكل مستخدم مسجل.
- معرّفات سجلات متسلسلة دون التحقق من انتمائها للمؤسسة.
- أدوار مكتوبة في الكود دون إمكانية ضبطها.
- غياب سجل الإجراءات، فلا يمكن التحقيق في الحوادث.
الأسئلة الشائعة
هل يمكن إضافة تعدد المستأجرين لاحقاً؟
نعم، لكن بتكلفة عالية: نقل البيانات وإعادة كتابة الاستعلامات. وإذا كان المنتج سيخدم عدة شركات فضمّنه من البداية.
هل أحتاج إلى الدخول الموحد (SSO)؟
غالباً لعملاء الشركات الكبيرة، لكن يمكن تأجيله في MVP. راجع مقالنا عن أولويات MVP لخدمات SaaS.
ما علاقة ذلك بـCRM؟
صلاحيات الموارد عماد أي نظام CRM: المديرون يرون صفقاتهم ورؤساء الأقسام يرون القسم. نستخدم النموذج نفسه في أنظمة CRM/ERP ونربط بيانات الخدمات الأخرى عبر واجهات API.
هل تصمم منتجاً بأدوار وبوابات للعملاء؟ أرسل طلبك عبر صفحة تطبيقات الويب، وسنصمم نموذج البيانات والوصول والتدقيق قبل بدء التطوير.
