قمت بإعداد خادم Discourse لعميل وسمحت لهم بإنشاء حسابات تجريبية، وكنت أعلم أنها ستصبح غير صالحة في النهاية بمجرد تفعيل SSO. قمت بضبط كل شيء، وخصّصت سمة (theme) خاصة، وكتبت أوصافًا للفئات لكل شيء باستخدام حسابي الإداري A.
بمجرد إعداد DiscourseConnect (كخيار التسجيل الوحيد)، قمت بتسجيل الدخول باستخدام حسابي الإداري من النظام الآخر ومنحت ذلك الحساب B صلاحيات المسؤول. من هذه النقطة فصاعدًا، سأقوم بأي إجراء تحت حساب B، لأنني لم أعد أستطيع تسجيل الدخول كـ A.
ثم صادفت زر “انتحال الشخصية” (impersonate) وأصبحت فضوليًا. بدا أنني لست مضطرًا لحذف حساب A إذا كان بإمكاني مجرد انتحال شخصيته لتعديل أوصاف الفئات، والأسئلة الشائعة، وما إلى ذلك. لذا استخدمت B لانتحال شخصية A وقمت بعدة تعديلات للتجربة، وكان كل شيء على ما يرام.
إلى أن أصبحت فضوليًا لمعرفة ما إذا كان بإمكاني انتحال شخصية حساب الروبوت الخاص بالمنتدى أيضًا. لذا، بينما كنت لا أزال أنتحل شخصية A (الذي كان مسؤولًا)، قررت انتحال شخصية C. لقد نجح الأمر، كان رائعًا، لذا سجلت الخروج بحرص وواصلت يومي.
الآن، عندما أسجل الدخول كـ B، لم يعد بإمكاني انتحال شخصية A أو C (باستخدام مستخدمين آخرين لا بأس به). المكان الذي يجب أن يظهر فيه الزر يقرأ فقط: “لا يمكن حذف المسؤولين والمشرفين”.
تقول السجلات إن “B انتحل شخصية A” و “A انتحل شخصية C”.
لم أكن متأكدًا مما إذا كان هذا يستدعي تقديم تقرير عن خلل (bug report) - حيث لا أملك حاليًا طريقة لتكرار خطواتي - أو ما إذا كان هناك حل سهل لهذه المشكلة؟
لم أكن أعرف أن هذا المسار موجود! هذا بالتأكيد يحل مشكلة تجاوز DiscourseConnect، رغم أنني لم أتمكن من فك هذا التعقيد كما يُقال. تظهر أزرار “التنكر” للمستخدم A، لذا أفترض أنهم حاليًا لا يتنكرون في شخص أي مستخدم آخر؟
هذا هو قاع وعاء معرفتي الصغير. لم أكن متأكداً مما إذا كان بإمكان المشرفين انتحال صفة مشرفين آخرين (كنت أظن أن الأمر يقتصر على المطورين فقط). هل قمت بإزالة المشرف ب من هذه القائمة؟
آمل أن يساهم شخص ما لديه معرفة أعمق بشيء أكثر ملاءمة.