الأدوار والصلاحيات (RBAC)
المسار: /dashboard/roles · الصلاحية: للمسؤولين فقط (Admin)
يستخدم FRENZY.BOT نظام التحكم في الوصول القائم على الأدوار على مستوى الوحدة (module-level RBAC) لإدارة ما يمكن لكل عضو في الفريق رؤيته والقيام به في لوحة التحكم. يضمن ذلك قدرة الموظفين على التعامل مع المهام اليومية دون تغيير إعدادات النظام عن طريق الخطأ.
كيف يعمل نظام RBAC
- يتم تعيين دور واحد فقط لكل مستخدم.
- يمتلك كل دور مجموعة من صلاحيات الوحدات — إما الوصول إلى الوحدة أو منعه.
- عند تسجيل دخول المستخدم، يظهر في الشريط الجانبي فقط الوحدات التي يسمح بها دوره.
- تفرض واجهات برمجة التطبيقات (API) أيضاً هذه الصلاحيات — حتى إذا انتقل شخص ما يدوياً إلى رابط (URL)، فإن الطلبات غير المصرح بها ستُرجع خطأ 403 Forbidden.
الأدوار الافتراضية
| الدور | الوحدات المضمنة | الوحدات المستثناة |
|---|---|---|
| Admin | جميع الوحدات | لا يوجد |
| Manager | Knowledge Base, Conversations, Handoff, Leads, Analytics, Channels, Integrations, Sync Jobs, Settings, Embed, Modules | User Management, System Logs |
| Staff | Knowledge Base, Conversations, Leads, Integrations, Channels, Sync Jobs | Settings, Users, Roles, Analytics, System Logs, Modules, Embed |
تغطي هذه الإعدادات الافتراضية معظم هياكل الفرق. يمكنك تخصيصها باستخدام مصفوفة الصلاحيات.
مصفوفة الصلاحيات
تُظهر صفحة الأدوار والصلاحيات (/dashboard/roles) شبكة من الأدوار × الوحدات مع مفاتيح تبديل:
- تبديل الوحدات الفردية تشغيل/إيقاف لكل دور.
- تبديل جماعي — تفعيل أو تعطيل جميع الوحدات دفعة واحدة لدور معين.
- تدخل التغييرات حيز التنفيذ فوراً — يتم تحديث الشريط الجانبي للمستخدم عند تحميله للصفحة التالية.
الوحدات المتاحة
| الوحدة | ما تتحكم به |
|---|---|
| Knowledge Base | رفع الملفات، الروابط، الأسئلة الشائعة؛ وإدارة مصادر البيانات |
| Conversations | عرض سجل الدردشة ونسخ الجلسات |
| Handoff | مساحة عمل وكيل الدردشة المباشرة |
| Leads | تتبع العملاء المحتملين وإدارة جهات الاتصال |
| Analytics | التقارير، مقاييس مسار التحويل، وبيانات الاستخدام |
| Channels | WhatsApp، Telegram، Discord، وغيرها |
| Integrations | البريد الإلكتروني، Webhook، Google Sheets، MailChimp |
| Sync Jobs | مراقبة المهام الخلفية |
| Settings | محرك الذكاء الاصطناعي، الهوية البصرية، الويدجت، وإعدادات النظام |
| Users | إدارة أعضاء الفريق |
| Roles | مصفوفة الصلاحيات (هذه الصفحة) |
| Modules | تفعيل وإدارة القدرات والميزات |
| Embed | منشئ كود تضمين الويدجت |
| Activity Logs | سجل تدقيق النظام |
تكوينات الأدوار الشائعة
| عضو الفريق | الدور الموصى به | السبب |
|---|---|---|
| صاحب العمل | Admin | يحتاج إلى تحكم كامل في الإعدادات، المستخدمين، والفواتير |
| مدير العمليات | Manager | يدير العمليات اليومية، التحليلات، والتكاملات دون الوصول إلى إعدادات النظام الحساسة |
| وكيل الدعم | Staff | يتعامل مع المحادثات، العملاء المحتملين، وقاعدة المعرفة دون الوصول إلى الإعدادات |
| مدير المحتوى | Staff (مع KB + Sync Jobs) | يدير محتوى قاعدة المعرفة فقط |
كيفية تحديث دور
- انتقل إلى Roles & Access في الشريط الجانبي.
- ابحث عن الدور الذي تريد تعديله.
- قم بتبديل الوحدات التي تريد تفعيلها أو تعطيلها.
- يتم حفظ التغييرات تلقائياً.
- سيرى المستخدمون الذين يمتلكون هذا الدور الشريط الجانبي المحدث عند تحميل الصفحة التالية.
نصيحة: اختبر بعد التغييرات
بعد تعديل دور ما، قم بتسجيل الدخول كمستخدم بهذا الدور (أو اطلب منه تحديث الصفحة) للتحقق من صحة الشريط الجانبي وصلاحيات الوصول.
حماية المسؤول (Admin)
- لا يمكن حذف حساب المسؤول الأساسي، أو إلغاء تنشيطه، أو تغيير دوره.
- اسم المستخدم والبريد الإلكتروني للمسؤول مقفلان — يمكن تحديث كلمة المرور فقط.
- يضمن ذلك وجود حساب واحد على الأقل يتمتع بصلاحية وصول كاملة للنظام دائماً.
تفاصيل التنفيذ
يتم فرض نظام RBAC على مستويين:
- مستوى واجهة المستخدم (UI) — يخفي الشريط الجانبي الوحدات التي لا يتضمنها دور المستخدم. وتظهر صفحات "تم رفض الإذن" للروابط غير المصرح بها.
- مستوى API — تتحقق كل نقطة نهاية في واجهة برمجة تطبيقات لوحة التحكم من دور المستخدم قبل معالجة الطلب. تُرجع الطلبات غير المصرح بها رمز HTTP 403.
هذا التنفيذ المزدوج يعني أنه حتى لو قام شخص ما بحفظ رابط في المفضلة أو أدخله يدوياً، فلا يمكنه تجاوز الصلاحيات.
الأسئلة الشائعة
س: لماذا يظهر للمستخدم خطأ 403 بدلاً من إعادة توجيهه لتسجيل الدخول؟
- المستخدم مسجل دخوله بالفعل ولكن دوره لا يتضمن هذه الوحدة. يتم عرض 403 (Forbidden) عمداً — وهذا يعني "أنت مسجل دخولك ولكن غير مخول بالوصول". قم بتحديث دورهم في صفحة Roles & Access.
س: هل يمكنني إنشاء أدوار مخصصة بخلاف Admin/Manager/Staff؟
- يدعم النظام الحالي الأدوار الثلاثة المدمجة مع صلاحيات وحدات قابلة للتخصيص. الأدوار المخصصة بأسماء جديدة مدرجة في خطة التطوير المستقبلية.
س: هل تتطلب تغييرات الأدوار تسجيل خروج المستخدم ومعاودة الدخول؟
- لا. تدخل تغييرات الأدوار حيز التنفيذ عند انتقال المستخدم التالي داخل الصفحة. لا يحتاجون لتسجيل الخروج.
س: هل نظام RBAC لكل بوت على حدة أم شامل للحساب؟
- نظام RBAC شامل — ينطبق دور المستخدم على جميع البوتات التي يمكنه الوصول إليها. تحديد الأدوار لكل بوت على حدة مدرج في خطة التطوير المستقبلية.

