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