صِرْ مديرًا

المشكلة

  1. قد يصل المسؤولون عن طريق الخطأ إلى أجزاء سرية من المنتدى
  2. لا يتم تسجيل مثل هذه الوصول غير المرغوب فيها
  3. قد يفوت المسؤولون سوء التكوين بسبب قواهم الخارقة التي تخفي التجربة العادية بالنسبة لهم

وصف الميزة

على غرار ميزة https://meta.discourse.org/t/impersonating-a-user/80862، يجب أن يكون المستخدم الذي يتمتع بامتيازات المسؤول قادرًا على أن يصبح مسؤولاً لأداء المهام الإدارية فقط عند الضرورة.

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

ستقوم هذه الميزة بما يلي:

  1. السماح للمسؤولين بتصفح الموقع كمستخدم عادي، ومشاركة التجربة اليومية للمستخدمين الآخرين؛
  2. منع المسؤولين من الوصول عن طريق الخطأ إلى المساحات الخاصة في المنتدى؛
  3. حماية الوصول غير المصرح به إلى هذه المساحات الخاصة بسجل فعلي لوصول المسؤول.

النقطة الأولى مفيدة لأن تجربة المسؤول تختلف كثيرًا عن تجربة المستخدم، وقد لا يتمكن المسؤولون من إدراك مشكلات المستخدم (على سبيل المثال، المتعلقة بالأذونات الخاطئة المعينة للفئات أو المجموعات، وما إلى ذلك).

قد تكون النقطة الثانية حرجة في الحالات التي تتطلب فيها مجموعة السرية: قد يؤدي النقر فوق رابط إلى قيام المسؤول بالتعدي عن طريق الخطأ وخرق السرية.

ستتيح النقطة الثالثة للمسؤولين المساءلة عن الوصول غير المصرح به إلى الأجزاء السرية من المنتدى، بينما لا يتم مساءلتهم حاليًا على الإطلاق.

كيف يمكن أن تعمل؟

  • يجب أن يكون تصعيد الامتيازات متاحًا فقط لحسابات المسؤول الفعلية؛
  • يمكن اعتبار “المسؤول” بمثابة مستوى ثقة إضافي (على سبيل المثال، المستوى 5 [1]
  • العودة إلى الوضع “العادي” ستؤدي ببساطة إلى العودة إلى مستوى الثقة السابق (TL)؛

بدلاً من تقديم “منظور مسؤول” جديد تمامًا، يمكن لوضع المسؤول إضافة طبقة إضافية من واجهة المستخدم:

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

  1. إشارة إلى فيلم كريس ماركر Level 5 الذي يحاول فيه مبرمج إكمال لعبة الفيديو الخاصة بزوجها المتوفى حول معركة أوكيناوا للتغلب على الحزن. ↩︎

3 إعجابات

أعتقد أن هذا مشابه لـ

3 إعجابات

أرى كيف أنه مشابه، ومع ذلك هناك قضايا في المناقشة الأخرى تتعلق بالقضية هنا:

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

علاوة على ذلك، أرى أن فريق Discourse لديه عادة أن يكون جميعهم مسؤولين، مما يجعل قوة أفقية، ولا يساعد، كثقافة، على التمييز بين الاستخدام العادي والاستخدام المميز. ليست كل المجتمعات أفقية، في بعض الأحيان لا ينبغي الوثوق بالأشخاص التقنيين الذين لديهم امتيازات المسؤول بكل شيء في المنتدى، وهذا ليس حالة هامشية: لقد تم بناؤه في أنظمة الكمبيوتر منذ البداية أن root يمكنه رؤية وفعل كل شيء. بالتأكيد تأتي الامتيازات مع المسؤولية، ولكن في بعض الأحيان لا يكفي الإحسان خاصة عندما لا يمكن للمرء التمييز بين ما هو مقبول وما هو محظور.

على الرغم من أن حل “استخدام ملف تعريف متصفح آخر” للتعامل مع حساب عادي وحساب مسؤول ليس عمليًا جدًا، خاصة وأننا جميعًا اعتدنا على امتلاك الأدوات في متناول اليد. يمكن أن يكون تشغيل متصفح جديد في كل مرة تكون فيها ميزة المسؤول مطلوبة مزعجًا للغاية (لا يحب الجميع ولا يمكنهم تحمل تخصيص موارد خاملة على أجهزتهم). كما أنه لا يمنع حدوث موقف “العين المتطفلة” الخاص بـ BOFH.

تتغير الأوقات. هنا، لدينا مسؤول وصل عن طريق الخطأ إلى معلومات سرية أثرت على حياة أشخاص آخرين، ولم يكن من المفترض أن يصل إليها. هذا خرق للخصوصية. إنها مشكلة أمنية.

أتفهم التعقيد المحتمل، لكن القضية الأساسية لا تزال قائمة ويجب حلها بطريقة أو بأخرى. في رأيي، سيكون من المفيد إعادة النظر في السؤال الآن بعد أن نضجت قاعدة الكود، وتقييم ما إذا كان النهج المقترح سيكون قابلاً للتنفيذ.

نعم! وجود تحذيرات وحراس حول هذه الأنواع من المشكلات (التعدي) سيكون مفيدًا.


حول الإضافات الحالية:

أفضل فصلًا نظيفًا حقًا بين المشارك والمسؤول باستخدام استعارة sudo الكلاسيكية والمعروفة، لجميع الأسباب المذكورة أعلاه.

إعجاب واحد (1)

أتفق على أن آلية sudo - في ويندوز حوار التحكم في حساب المستخدم - هي طريقة جيدة للحساب ليكون لديه القدرة على التصرف كمسؤول، ولكن دون أن تكون لديه القدرة دائمًا.

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

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

إعجاب واحد (1)

نظرًا لأن هذه الميزة، إذا تم تنفيذها في النهاية (لا تنسَ التصويت لها!)، ستستغرق وقتًا قبل أن تحدث، فإننا نقوم بتقييم استخدام حسابين. هذا يعني: تحويل الحسابات الحالية إلى حسابات عادية. إليك ما يجب أن يتضمنه ذلك (سأحاول تعديل هذا المنشور، أو جعله ويكي حتى نتمكن من الاحتفاظ بتوثيق محدث يغطي التحذيرات)…

:warning: لم يتم اختباره بعد: كل هذا نظري، من رأسي.

تحويل حساب مسؤول Discourse موجود إلى حساب مستخدم عادي

نظرًا لأننا لا نريد أن نفقد التاريخ و “خبرة المنتدى” من الحساب الأصلي، نحتاج إلى المضي قدمًا بحذر قبل إزالة امتياز المسؤول.

بالنظر إلى المستخدم me بالبريد الإلكتروني original-me@email.example.

الحالة الأولى: حساب المسؤول في DISCOURSE_DEVELOPER_EMAILS

إذا كان البريد الإلكتروني لحساب المسؤول جزءًا من DISCOURSE_DEVELOPER_EMAILS، فلا يمكن تخفيضه إلى حساب عادي.

  1. قم بإنشاء حساب جديد سيصبح مسؤولًا، على سبيل المثال، me2 بالبريد الإلكتروني original-me+admin@email.example.
  2. من me، امنح امتياز الإدارة للحساب الجديد me2.
  3. قم بتحرير app.yml (أو web_only.yml إذا كنت تستخدم إعداد الحاوية المزدوج) لاستبدال original-me@email.example بـ original-me+admin@email.example وأعد بناء الحاوية.
  4. من me2، قم بتخفيض رتبة الحساب الأصلي me.

لديك الآن حساب مستخدم عادي بكل خبرتك (me) وحساب جديد مخصص للمسؤول فقط (me2): انتقل إلى “ما بعد ذلك”.

الحالة الثانية: حساب مسؤول تمت ترقيته من مستخدم عادي

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

  1. قم بإنشاء حساب جديد سيصبح مسؤولًا، على سبيل المثال، me2 بالبريد الإلكتروني original-me+admin@email.example.
  2. من me، امنح امتياز الإدارة للحساب الجديد me2.
  3. من me2، قم بتخفيض رتبة الحساب الأصلي me.

لديك الآن حساب مستخدم عادي بكل خبرتك (me) وحساب جديد مخصص للمسؤول فقط (me2): انتقل إلى “ما بعد ذلك”.

ما بعد ذلك

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

تحذيرات

يجب ألا تستخدم حساب المسؤول الخاص بك لأي شيء آخر سوى الإدارة.

لا تتصفح المناقشات أثناء كونك مسؤولًا! هذا الوقت ضائع لتقدم مستوى الثقة الخاص بك، ولا تعرف أبدًا متى قد تنقر على رابط غير مسموح لك به كشخص.

إذا صادفت قراءة شيء أثناء وجودك في حساب المسؤول الخاص بك يجعلك تتفاعل، فإما أن تنتقل إلى علامة تبويب المستخدم العادي الخاص بك وتتصفح إلى عنوان URL الأصلي، أو، إذا لم يكن لدى المستخدم العادي الخاص بك وصول إلى هذا القسم: انسَ الأمر فورًا (ما لم، بالطبع، يجب عليك الرد بصفتك مسؤولًا).

يجب عليك تكوين حساب المسؤول الخاص بك ليبدو مختلفًا

قم بتغيير الصورة الرمزية الخاصة بك للتأكد من أنك لا تخلط أبدًا بين حساب المسؤول الخاص بك وحساب المستخدم العادي الخاص بك. اجعل ملفك الشخصي غير مرئي. قم بتغيير صورة الخلفية أو السمة، واسمك ليشمل “ADMIN” أو شيئًا مثل “THIS ACCOUNT DOES NOT POST”، وما إلى ذلك. فقط تأكد من أنك لا ترغب في إغراء نشر شيء ما باستخدام حساب المسؤول الخاص بك، أبدًا.

يجب عليك تكوين حساب المسؤول الخاص بك لتصفية الإشعارات

TODO: تفصيل هذا القسم

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

ربما ترغب في تلقي إشعارات على سطح المكتب الخاص بك لالتقاط العلامات والرسائل الهامة.

ماذا تفعل بفئة الموظفين والهمسات؟

نعم، لقد واجهت مشكلة أخرى معقدة مع استخدام حسابين منفصلين للمشاركة كمسؤول ومستخدم عادي. في بعض الأحيان يجب عليك التفاعل على المنتدى كمسؤول. هذا أمر لا مفر منه على الأرجح. حاول ألا تصاب بالفصام، وحاول تقليل تدخلات الموظفين قدر الإمكان. يرجى الإبلاغ عن تكتيكاتك للتعامل مع هذه المشكلة الشاقة، وتحفيز فريق Discourse المخصص للمسؤولين بالكامل لتنفيذ هذه الميزة. ؛)

مزايا حل الحسابين

  1. فصل نظيف بين المشاركة والإدارة (نوعًا ما)
  2. لا يمكنك ارتكاب أخطاء من حسابك العادي
  3. يتم تسجيل جميع إجراءات المسؤول الخاصة بك بشكل صحيح
  4. كمستخدم، فإنك تختبر المنتدى مثل أي مستخدم آخر، لذلك يمكنك بسهولة اكتشاف مشكلات الأذونات
  5. إذا صادفت نشر شيء ما بصفتك admin ولكن كنت تنوي النشر بصفتك نفسك، يمكنك تغيير الملكية إلى حسابك الآخر (ولكن هذا يهزم إلى حد ما وجود حسابين).

إذًا سيكون المسؤولون مستخدمين عاديين أو TL4s، ولكن يمكنهم تشغيل “وضع المسؤول” لاستخدام الميزات الخاصة للمسؤول؟
إذا كان الأمر كذلك، فما الذي يمنع المسؤولين من تركها قيد التشغيل دائمًا؟

إعجابَين (2)

هذه ملاحظة مثيرة للاهتمام. هل هناك طريقة لسد الفجوة - السماح لمجموعة بالتحكم في تسليم الإشعارات، دون المحتوى؟ “هناك مشاركات مميزة” “هناك رسالة تنتظر” “تثبيتك قديم”

إعجاب واحد (1)

إليك فكرة: لا يمكن لدور المسؤول النشر في فئة أو سلسلة عامة، ولا يمكنه الإعجاب بمنشور.

إعجابَين (2)

وهذا يعني أيضًا أنه يمكن تجاهل الحساب مثل المستخدم العادي. الحصول فقط على التحديثات الضرورية من المسؤول إذا أردنا تجاهلها.
عمل رائع حقًا :+1:t2:

إعجاب واحد (1)