انتقل إلى المحتوى الرئيسي

إدارة حقوق المستخدمين

نظرة عامة​

نظام إدارة وصول المستخدمين مصمم للتحكم التفصيلي في من يمكنه الوصول إلى موارد التطبيق. يستخدم النظام نموذج إدارة الوصول القائم على الأدوار (RBAC)، حيث يتم تعيين المستخدمين إلى مجموعات، وتُمنح حقوق الوصول لهذه المجموعات. وهذا يضمن إدارة فعالة وآمنة للوصول.

إدارة المجموعات​

إنشاء مجموعة جديدة​

  1. الانتقال إلى قسم المجموعات:
    • افتح علامة التبويب Groups.
  2. إضافة مجموعة:
    • اضغط على زر Create Group.
    • حدد اسمًا وصفيًا وعلامة.
    • عيّن حقوق الوصول الأولية.
تحذير

في المشروع الجديد، يتم دائمًا إنشاء مجموعة الضيف مع مجموعة من القيود الافتراضية.

علامات تبويب محرر المجموعة​

يتكون محرر المجموعة من علامات التبويب Basic data وAttributes وGroups وPermissions وFinal permissions وVersion History.

في علامة التبويب Basic data، بالإضافة إلى الاسم والعلامة، يوجد مربع اختيار Do not use permissions for this group: إذا تم تحديده، يحصل مستخدمو المجموعة على وصول كامل إلى جميع وحدات التحكم في واجهة برمجة التطبيقات للمحتوى، باستثناء تلك التي تتطلب مصادقة.

وراثة حقوق الوصول​

في علامة التبويب "المجموعات"، يتم عرض المجموعات التي تم إنشاؤها سابقًا بشكل هرمي، ويمكن ربط المجموعة الجديدة بمجموعة تم إنشاؤها بالفعل لتوريث الحقوق من المجموعة الأصلية.

تحذير

إذا كان هناك قيد في المسار في المجموعة الأصلية، وتم الكتابة فوق نفس القيد في المجموعة الفرعية، فإن القيد النهائي سيكون قيد المجموعة الفرعية، ولكن فقط إذا لم يتم تحديد خيار "الإذن النهائي" في المجموعة الأصلية.

المجموعة الوحيدة في السلسلة

يمكن تحديد المجموعة فقط إذا لم يتم اختيار أي مجموعة أصلية أو فرعية بالفعل.

تغيير حقوق الوصول​

تعتبر علامة التبويب "Permissions" هي المفتاح لتحرير حقوق الوصول.

تجميع الحقوق

إذا كنت قد حددت مجموعة أصلية سابقًا لتوريث الحقوق، فسيتم عرض جميع المعلومات حول الحقوق المحددة في الجدول في الأعلى، ويُمنع تعديل الحقوق الموروثة. تُجمع الحقوق التي تتضمن استثناءات والحقوق غير المستخدمة بشكل منفصل في نفس الجدول.

تأخير تطبيق الحقوق

تدخل التغييرات على الحقوق حيز التنفيذ على الفور — عادةً في غضون 5 دقائق كحد أقصى.

الإجراءات الجماعية​

في علامة التبويب "Permissions" توجد أزرار العمليات الجماعية:

  • Copy permissions from another group — تضيف إلى المجموعة الحالية جميع الأذونات من مجموعة المصدر المحددة. تبقى الأذونات الحالية كما هي، ويتم تخطي التكرارات.
  • Grant all permissions — تمنح المجموعة جميع الأذونات الموجودة. تبقى الأذونات الممنوحة مسبقًا دون تغيير.
  • Revert bulk operation — يتراجع عن آخر عملية جماعية (منح جميع الأذونات أو النسخ): يتم حذف الأذونات التي تمت إضافتها بهذه العملية فقط، وتبقى الإعدادات اليدوية محفوظة.

قبل كل عملية، يطلب التطبيق تأكيدًا.

إدارة حقوق الوصول​

إنشاء وتحرير حقوق الوصول​

للبدء في إنشاء حق، اضغط على زر "إنشاء حق" في علامة التبويب "Permissions"

يتكون حق الوصول من مجموعة من الطريقة والمسار.

مخطط الإذن: الطريقة 'GET' والمسار '/api/content/pages' في قسم API.
  1. إنشاء مجموعة الحد الأدنى من الأذونات:
    • تتيح لك هذه الخيار تقليل مهمة إنشاء الحقوق، من خلال توليد الحد الأدنى من مجموعة الأذونات المطلوبة.
تحذير

متاحة فقط إذا لم يكن هناك أي أذونات محددة مسبقًا في المجموعة

  1. تحديد قيود على إصدار البيانات:
    • ينطبق الخيار فقط عندما يتم اختيار "إنشاء مجموعة الحد الأدنى من الأذونات"، ويحدد قيدًا على إصدار البيانات.
تلميح

يتم تحديد عدد السجلات في الإعدادات

  1. قسم API:
    • معلمة إلزامية، إذا كنت تقوم بإنشاء حق جديد، تحدد المسار لاختيار الأذونات.
  2. المسار:
    • الاختيار متاح فقط بعد اختيار قسم API، يوضح المسار لتعيين الحقوق.
  3. الاسم:
    • حقل إلزامي لاسم الحق.
  4. جدول الطرق (كتلة الشروط الإضافية):
    • يمثل الجدول اختيارًا من طرق HTTP للمسار المحدد: في الخلية Get data (GET) — الخيارات without restrictions وwith restriction on the number of records، يتم تضمين الطرق الأخرى (مثل Add data لـ POST) من خلال مربع اختيار. إذا كانت الطريقة غير متاحة للمسار، يتم عرض "not available for selection" في خليتها.
دائمًا 4 طرق

لأي مسار في الجدول، يتم دائمًا تحديد 4 طرق: GET وPOST وPUT وDELETE

  1. شروط إضافية تظهر هذه الشروط ليس لجميع المسارات، ولكن فقط للمسارات "القائمة" وتسمح بتكوين استثناءات على الوثائق المستلمة.

    • إذا كنت بحاجة، على سبيل المثال، إلى منح إذن لجميع الصفحات، ولكن مع استثناء، يمكنك الضغط على زر "اختر البيانات التي تريد استثنائها". في النافذة الإضافية التي تفتح، يمكنك اختيار البيانات التي تحتاج إلى تقييد الوصول إليها.

    دعنا نعتبر بعض الأمثلة لتحديد القيود لتنفيذ المهمة: تحتاج إلى تقييد إذن مجموعة "الضيف" إلى صفحة "الحساب الشخصي" وإلى السمات "السعر" و"الخصم الشخصي".

    مخطط: Paul وAlex في مجموعة 'Buyer' بصلاحية كاملة؛ John في مجموعة 'Guest' الممنوعة من 'Personal Account' و'Price' و'Personal discount'.

    مثال 1 - تقييد وصول مجموعة الضيف إلى صفحات معينة.​

    لتنفيذ ذلك، يجب فتح مجموعة "الضيف" في وضع التحرير. بعد ذلك، افتح علامة التبويب "الأذونات" وابحث في جدول الأذونات التي تم إنشاؤها عن "استخراج جميع كائنات الصفحة التي تحتوي على معلومات عن المنتج، في شكل مصفوفة".

    تحذير

    في مجموعة "الضيف"، يوجد هذا الوصول بشكل افتراضي، إذا لم يكن موجودًا في مجموعتك، يجب إنشاء وصول جديد. للقيام بذلك، اضغط على زر "إنشاء وصول"، في النافذة المنبثقة، اختر المعلمات التالية: قسم API - pages المسار - "استخراج جميع كائنات الصفحة التي تحتوي على معلومات عن المنتج، في شكل مصفوفة"

    بعد ذلك، نحدد "بدون قيود" ونفتح قائمة الصفحات التي نريد تقييدها، للقيام بذلك، يجب الضغط على زر "اختر البيانات التي تحتاجها". نحدد القيد لصفحة "الحساب الشخصي".

    نافذة اختيار الصفحات لقسم 'pages': الصفحة 'Personal account' محددة.

    لا تنسَ، بعد اختيار الصفحات، تحديد خيار "استثناء" و"الإذن النهائي" عند الحاجة، إذا كانت الحقوق يمكن أن تُورث.

    يجب أن تبدو جميع الإعدادات كما يلي:

    إعداد الإذن: القسم 'pages'، و'Read (GET)' محدد في 'Permission'، و'Exclude' و'Final permission' محددان في 'Additional conditions'.

    بهذا، تكتمل إعدادات الوصول، بعد الضغط على زر "حفظ"، سيتلقى جميع المستخدمين غير المصرح لهم بدلاً من أربع صفحات 3 فقط.

    مثال 2 - تقييد وصول مجموعة الضيف إلى سمات معينة.​

    لتنفيذ ذلك، يجب فتح مجموعة "الضيف" في وضع التحرير. بعد ذلك، افتح علامة التبويب "الأذونات" وابحث في جدول الأذونات التي تم إنشاؤها عن "استخراج جميع السمات مع البيانات من مجموعة السمات".

    تحذير

    في مجموعة "الضيف"، يوجد هذا الوصول بشكل افتراضي، إذا لم يكن موجودًا في مجموعتك، يجب إنشاء وصول جديد. للقيام بذلك، اضغط على زر "إنشاء وصول"، في النافذة المنبثقة، اختر المعلمات التالية: قسم API - attributes-sets المسار - "استخراج جميع السمات مع البيانات من مجموعة السمات"

    بعد ذلك، نحدد "بدون قيود" ونفتح قائمة الصفحات التي نريد تقييدها، للقيام بذلك، يجب الضغط على زر "اختر البيانات التي تحتاجها". نحدد القيد للسمات "السعر" و"الخصم الشخصي".

    تحذير

    هنا يظهر قائمة بجميع السمات التي تم إنشاؤها من جميع مجموعات السمات.

    نافذة اختيار السمات لقسم 'attributes-sets': السمتان 'Personal discount' و'Price' محددتان.

    لا تنسَ، بعد اختيار الصفحات، تحديد خيار "استثناء" و"الإذن النهائي" عند الحاجة، إذا كانت الحقوق يمكن أن تُورث.

    يجب أن تبدو جميع الإعدادات كما يلي:

    إعداد الإذن: القسم 'pages'، و'Read (GET)' محدد في 'Permission'، و'Exclude' و'Final permission' محددان في 'Additional conditions'.

    بهذا، تكتمل إعدادات الوصول، بعد الضغط على زر "حفظ"، سيتلقى جميع المستخدمين غير المصرح لهم عند طلب معلومات عن المنتج، معلومات محدودة.

    مثال 3 - تقييد وصول مجموعة الضيف إلى الكتل.​

    لتنفيذ ذلك، يجب فتح مجموعة "الضيف" في وضع التحرير. بعد ذلك، افتح علامة التبويب "الأذونات" وابحث في جدول الأذونات التي تم إنشاؤها عن "استخراج جميع الكائنات الكتلية".

    تحذير

    في مجموعة "الضيف"، يوجد هذا الوصول بشكل افتراضي، إذا لم يكن موجودًا في مجموعتك، يجب إنشاء وصول جديد. للقيام بذلك، اضغط على زر "إنشاء وصول"، في النافذة المنبثقة، اختر المعلمات التالية: قسم API - blocks المسار - "استخراج جميع الكائنات الكتلية"

    بعد ذلك، نحدد "بدون قيود" ونفتح قائمة الكتل التي نريد تقييدها، للقيام بذلك، يجب الضغط على زر "اختر البيانات التي تحتاجها".

    تحذير

    هنا يظهر قائمة بجميع الكتل التي تم إنشاؤها من جميع مجموعات الكتل.

    نافذة اختيار الكتل لقسم 'blocks': الكتلة 'product block1' محددة.

    لا تنسَ، بعد اختيار الكتلة، تحديد خيار "استثناء" و"الإذن النهائي" عند الحاجة، إذا كانت الحقوق يمكن أن تُورث.

    يجب أن تبدو جميع الإعدادات كما يلي:

    إعداد الإذن: القسم 'blocks'، المسار '/api/content/blocks'، و'Read (GET)' محدد، و'Exclude' محدد في 'Additional conditions'.

    بهذا، تكتمل إعدادات الوصول إلى الكتل.

    – استخراج جميع كائنات المستخدمين – المسؤولين. – استخراج جميع الكائنات من مجموعات السمات. – استخراج جميع السمات مع البيانات من مجموعة السمات. – استخراج جميع كائنات الصفحة التي تحتوي على معلومات عن المنتج في شكل مصفوفة. – استخراج جميع كائنات الكتل. – استخراج جميع كائنات النماذج. – استرجاع جميع الاشتراكات على المنتجات. – استخراج جميع كائنات من مستودع الطلبات. – البحث عن جميع الكائنات ذات حالة المنتج. – استخراج جميع كائنات القوالب مع تصفية حسب الأنواع. – استخراج جميع كائنات المعاينة للقوالب. – الحصول على جميع المجموعات.

    بعد اختيار البيانات للاستثناء، ستظهر خياران جديدان: "استثناء" - الخيار يشير إلى أننا نريد استثناء البيانات المحددة. "الحق النهائي" - هذا الحق لا يُورث في سلسلة المجموعات الفرعية (يصبح الخيار متاحًا فقط إذا تم اختيار خيار "استثناء").

تحذير

يعتمد اختيار الشروط الإضافية على المسار المحدد وليس دائمًا متاحًا. عند وجود مثل هذا الاختيار، يتم تمييزه بعلامة - "Exceptions available for selection"

قائمة الأذونات: المسار '/api/content/integration-collections' يحمل العلامة 'Exceptions available for selection'.

في كتلة Additional Options في نافذة الحق، يوجد مربع اختيار IP Check (التحقق من IP).

بشكل افتراضي، تدخل الحقوق الجديدة في قسم "الحقوق غير المستخدمة"، لتفعيلها، يكفي اختيارها، بالضغط على مربع الاختيار على يسار الاسم.

لفتح المحرر، يتم استخدام الزر تعديل

للحذف، استخدم حذف

فهم حقوق الوصول​

حقوق الوصول هي إعدادات تفصيلية تحدد الإجراءات التي يمكن أن تقوم بها المجموعة مع موارد معينة. يتم تنظيمها حسب أقسام API ويمكن توضيحها بشكل إضافي باستخدام الشروط.

البحث عن الحقوق في الجدول​

يتم البحث عن الحقوق المطلوبة في الجدول عن طريق إدخال نص في حقل Search permission، واختيار الأقسام المطلوبة من API في محدد API Section، ومرشحات Show only unused (فقط الحقوق غير المستخدمة) وOnly routes with available exceptions (فقط المسارات التي تتوفر لها استثناءات).

الحقوق النهائية​

تعتبر علامة التبويب للحقوق النهائية جدولًا معلوماتيًا مع تصفية حسب أقسام API لتسهيل البحث.

كيفية إضافة مستخدم إلى مجموعة