فهم حالات المستخدمين والأدوار والصلاحيات

:bookmark: هذا دليل لفهم مختلف حالات المستخدمين والأدوار والصلاحيات داخل Discourse، بما في ذلك كيفية تأثيرها على قدرات المستخدمين وكيفية تخزينها في قاعدة البيانات.

:person_raising_hand: مستوى المستخدم المطلوب: مدير (Administrator)

يحتوي Discourse على العديد من حالات المستخدمين والأدوار والصلاحيات المدمجة.

يمكن رؤية هذه الحالات والأدوار لمستخدم معين عند عرض ملفه الشخصي من قسم المستخدمين في لوحة تحكم المدير:

حالة الصلاحية

مفعّل (Activated)

لدى الحساب بريد إلكتروني موثّق، وبالتالي فهو نشط في نسخة Discourse.

  • يمكن للحساب تسجيل الدخول إلى Discourse، بينما لا يمكن للحسابات غير النشطة تسجيل الدخول.
  • يمكن للحسابات غير النشطة فقط التحقق من بريد إلكتروني (وطرق أخرى حسب الحاجة لإكمال التسجيل).

التخزين: عمود منطقي active في جدول users

مرحلي (Staged)

حساب مؤقت خاص يُنشأ تلقائيًا بواسطة النظام للتكامل مع البريد الإلكتروني.

  • لا يتم إرسال ملخصات البريد الإلكتروني أبدًا.
  • يراقب تلقائيًا جميع الرسائل التي يشارك فيها ويتلقى إشعارات بالردود.
  • يمكنه الرد عبر البريد الإلكتروني على الإشعارات.
  • يتم اختيار اسم المستخدم والاسم تلقائيًا.
  • لا يزال بإمكان الحساب التسجيل بنفس البريد الإلكتروني و"الاستيلاء" على الحساب المرحلي.
  • لا يمكنه تلقي بريد إعادة تعيين كلمة المرور.

التخزين: حقل staged في جدول users

مدير (Admin)

مستخدمو المدير هم المستخدمون الفائقون في النظام، ويمكنهم:

  • تجسيد (Impersonate) غير المدراء.
  • تغيير إعدادات الموقع.
  • إنشاء مجموعات.
  • تعديل تخصيصات الموقع.
  • تنفيذ جميع الإجراءات التي يمكن للمراقبين تنفيذها.
  • قراءة أي رسالة شخصية.
  • إنشاء فئات وحذفها وتعديلها.
  • تجاهل صلاحيات الفئات لعرض الفئات الخاصة.

التخزين: يحدد الحقل المنطقي admin في جدول users أي حسابات مدير.

مراقب (Moderator)

مستخدم متقدم قادر على مراقبة الموقع:

  • يحصل على أيقونة درع بجانب اسمه في المشاركات.
  • يمكنه تنفيذ جميع الإجراءات التي يمكن لموظفي الموقع (Staff) تنفيذها.

التخزين: الحقل المنطقي moderator في جدول users

موظف (Staff)

مستخدم الموظف هو أي مستخدم يكون مديرًا أو مراقبًا (أو كلاهما).

  • محصّن ضد حدود المعدل (Rate limits).
  • يمكنه معالجة الأعلام والمشاركات المعلقة في طابور المراقبة.
  • يمكنه حذف المواضيع والمشاركات، وتقسيم المواضيع، ودمج المواضيع، وإخفاء المواضيع، وما إلى ذلك.
  • يمكنه عرض معلومات المستخدم (باستثناء رسائل البريد الإلكتروني للمراقبين).
  • يمكنه تعليق، أو إسكات، أو إخفاء هوية، أو حذف المستخدمين.
  • يمكنه تعديل مستوى ثقة المستخدم.

التخزين: يُحسب من عمودي admin و moderator في جدول users

مراقب فئة (Category Moderator)

هذا مستخدم غير موظف هو جزء من مجموعة مُنحت صلاحيات مراقبة محددة لفئات معينة. يمكن تفعيل هذا لكل موقع باستخدام إعداد المدير enable category group moderation، وتعيينه لكل فئة في تبويب الإعدادات في مفتاح الفئة:

مستوى الثقة 0 - 4

انظر إلى: ماذا تفعل مستويات ثقة المستخدم؟

التخزين: الحقل الرقمي trust_level في جدول users

معلق (Suspended)

حساب معلق من نسخة Discourse.

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

التخزين: عمود التاريخ والوقت suspended_till في جدول users

مسكت (Silenced)

سواء كان ذلك يدويًا بواسطة الموظفين أو عندما يُعلم نظام الرسائل المزعجة عن الحساب بأنه حساب مشكلة، يتم تعطيل جميع عمليات النشر.

  • لا يمكن للحساب الرد على أي موضوع.
  • لا يمكن للحساب إنشاء أي مواضيع.
  • لا يمكن للحساب إنشاء رسائل شخصية (PMs)، لكنه يمكنه الرد على الرسائل الشخصية.
  • لا يمكن للحساب إنشاء أعلام.
  • لا يزال بإمكان الحساب الإعجاب (Like) ووضع العلامات المرجعية (Bookmark).
  • لا يزال بإمكان الحساب تغيير تفضيلات المستخدم وقسم “عني” (لم يُحدد بعد إذا كان هذا فكرة جيدة).
  • يتوقف وضع قائمة البريد الإلكتروني عن العمل.

التخزين: عمود التاريخ والوقت silenced_till في جدول users


حالات أخرى

يمكن أن يكون لدى المستخدمين بعض الحالات الإضافية غير المعروضة في قسم الصلاحيات في لوحة تحكم المدير.

مستخدم جديد (New user)

حساب مقيد خاص بيوم الاستخدام الأول أو الحسابات الجديدة. لدى new_users حدود معدل خاصة محددة في إعدادات الموقع.

  • حساب بمستوى ثقة 1 أُنشئ في آخر 24 ساعة، أو بمستوى ثقة 0.
  • حساب غير موظف.

الحدود:

  • يمكنه إنشاء مشاركة مرة واحدة كل 30 ثانية (rate_limit_new_user_create_post).

التخزين: يُحسب من الأعمدة created_at، moderator، admin، و trust_level في جدول users

مستخدم اليوم الأول (First day user)

قيود إضافية خاصة تطبق على مستخدم خلال 24 ساعة من مشاركته الأولى.

  • لم ينشر بعد، أو أُنشئت مشاركته الأولى منذ أقل من 24 ساعة.
  • حساب غير موظف.
  • ليس بمستوى ثقة 2 أو أعلى.

الحدود:

  • يمكنه إنشاء 10 ردود فقط (max_replies_in_first_day).
  • يمكنه إنشاء 3 مواضيع فقط (max_topics_in_first_day).

التخزين: يُحسب من first_post_created_at في جدول user_stats، بالإضافة إلى الأعمدة moderator، admin، و trust_level في جدول users

معتمد (Approved)

إذا تم تفعيل إعداد الموقع must_approve_users، فيجب أن يكون المستخدم معتمدًا قبل السماح له بتسجيل الدخول.

التخزين: عمود منطقي approved في جدول users

مطوّر (Developer)

حساب خاص يُستخدم لتثبيت Discourse.

:spiral_notepad: هذه الحالة متاحة فقط في التثبيتات الذاتية (Self-hosted).

  • عرض rack-mini-profiler الذي يعرض التوقيتات على الصفحة.
  • تجسيد أي حساب بما في ذلك المدراء.
  • يصبح مديرًا تلقائيًا ويملك جميع صلاحيات المدير.

التخزين: يُتحكم به عبر الإعداد العام developer_emails أو جدول developers، في التثبيت باستخدام Docker استخدم متغير البيئة DISCOURSE_DEVELOPER_EMAILS لتعيين قائمة بريد إلكتروني للمستخدمين الذين هم مطورون.

موارد إضافية

للحصول على تفصيل أكثر دقة للصلاحيات المحددة الممنوحة لمراقبي الفئات، يرجى الاطلاع على Trust Level Permissions Reference.

90 إعجابًا
Modifying Staff Roles to go beyond Administrator and Moderator?
List of full moderation tools?
Deactivating users permanently
Improving Blocked User State
Which setting(s) would prevent Discourse from emailing an old user?
View Forum as User X
What permissions can admins give moderators?
How i can manage roles for moderators and administrators?
Levels and Staff roles
A new trust level: The Helpful member?
How to disable mail for staged users?
Discourse User Roles difference
Understading groups in discourse
Suspend all users apart from admin users for development copy
Who is able to change profile of another user
How do I block a user?
How does discourse count users?
A single number for users ranking (reputation like)?
Allow moderators to create groups
What is a staged user?
Discourse User Features
How to activate users after a large import of mbox archives
Disable DM visibility from Admins
Understanding Discourse Trust Levels
What are "staged users"?
Additional admins & moderators / staff users on pricing page
Trying to understand "staff" slots and moderation in hosted plans
Promoting a User to Admin or Moderator Status
Moderators vs Staff
Adding users to the developers table
Error adding a backup email address: address already in use by a staged user
Trying to understand "staff" slots and moderation in hosted plans
Create staged users via API?
Admin ability to impersonate other admin differs between admins
My Wiki of useful Meta (and other) links
TOC missing after using browsers back button
Proposed: allow moderators to silence, not delete users flagged by akismet
Incorrect account stats
How to reply to staged user through discourse?
Daily Summary (9pm UTC)
Improving Blocked User State
Users who are 'activated' but not 'approved'
Why are system and super admin both mod and admin?
Why are system and super admin both mod and admin?
Does the 'Posted' field in the user card include topics in private categories?
Unlisted option on creation of a new topic
Improving Blocked User State
Are banned members supposed to receive email notifications?
What is a staff user on hosted Discourse?
Limit the daily number of posts from a user
Major slowdown for staff in large topics
For how long a new user is considered "new user"?
How to invite someone to answer a question?
Auto-remove accounts when SSO ID is not longer valid
Best strategy for member who wants to "pause"? Suspend may not be it
How might we better structure #howto?
Send email to non registered user in a group
Difference between “member” and “staff user”
Send email to non registered user in a group
New pending application generates staff notification
Change user registration date (created_at) via API
Please update 'Understanding Discourse Trust Levels' — or is there a different doc?
When you started your first Discourse community, what did you find hard to do?
Can I enforce Slow Mode on a per-user basis or limit their comments?
Understanding Discourse Trust Levels
Watch topic using email address without requiring registration
Can T4 members access personally identifiable information?
How to get an API key