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

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

:person_raising_hand: مستوى المستخدم المطلوب: مسؤول

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

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

حالة الإذن

مُفعّل (Activated)

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

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

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

مرحلي (Staged)

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

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

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

مسؤول (Admin)

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

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

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

مشرف (Moderator)

مستخدم متقدم قادر على الإشراف على الموقع:

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

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

موظف (Staff)

المستخدم الموظف هو أي مستخدم إما مسؤول أو مشرف (أو كلاهما).

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

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

مشرف فئة (Category Moderator)

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

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

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

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

مُعلّق (Suspended)

تم تعليق الحساب من مثيل Discourse.

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

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

مُسكت (Silenced)

سواء يدويًا بواسطة الموظفين أو عندما يقوم نظام البريد العشوائي بوضع علامة على الحساب كحساب مشكل، يتم تعطيل جميع عمليات النشر.

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

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


حالة أخرى

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

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

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

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

الحدود:

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

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

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

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

  • لم ينشر بعد، أو تم إنشاء أول منشور له منذ أقل من 24 ساعة.
  • حساب غير موظف.
  • ليس TL2 أو أعلى.

القيود:

  • يمكنه فقط إنشاء 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 قبل السماح له بتسجيل الدخول.

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

مطور (Developer)

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

  • عرض 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?
What permissions can admins give moderators?
View Forum as User X
Levels and Staff roles
A new trust level: The Helpful member?
Understading groups in discourse
How to disable mail for staged users?
How i can manage roles for moderators and administrators?
Discourse User Roles difference
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