المشكلة: SAML والمستخدم المجهول والمحظور

خطوات التكرار:

  • يوجد مستخدم A، وهو مستخدم SAML
  • يريد المسؤول أن لا يتمكن المستخدم A من استخدام Discourse بعد الآن
  • يستخدم المسؤول وظيفة “إخفاء هوية المستخدم” للمستخدم A (جميع الإدخالات لم تعد ظاهرة = هذا جيد)
  • يريد المسؤول منع الوصول المستقبلي للمستخدم A، وبالتالي يريد حظره (وظيفة حظر المستخدم)

ملاحظة: لم يتم حذف المستخدم من خادم SAML ولا يزال نشطًا

النتيجة المتوقعة:
حتى لو كان المستخدم لا يزال موجودًا على خادم SAML، فلا ينبغي أن يتمكن من تسجيل الدخول لأنه محظور.

السلوك الحالي:
يمكن للمستخدم تسجيل الدخول.

هل جربت تعطيل حساب المستخدم داخل Discourse؟

عذراً، بدلاً من “حظر” أعني “تعليق”.
نعم، لقد جربت ذلك.

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

أعتقد أن discourse-saml يحاول العثور على المستخدم بناءً على اسم المستخدم في discourse-saml/lib/saml_authenticator.rb at 230a58b2d86465ec8aa75fb755558d4fdda73773 · discourse/discourse-saml · GitHub

أعتقد أنه يجب أن تكون هناك طريقة لمطابقة مستخدم مخفي الهوية مع بيانات مستخدم SAML. هل يعرف أحد كيف وأي سمة يجب التحقق منها؟

عذرًا على إعادة فتح الموضوع، لكننا نواجه هذه المشكلة بالضبط.

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

هل هناك طريقة لتعليق البريد الإلكتروني يدويًا بدون حساب؟

فقط أوقف الحساب الجديد مؤقتًا؟

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

يجب أن تكون هناك طريقة لتعليق رسائل البريد الإلكتروني، بنفس الطريقة التي يمكنك بها حظر عناوين IP.

يبدو أنك لا تفهم كيفية التعامل مع عمليات الحذف التي يطلبها المستخدم ومتى/أين لا ينطبق ذلك.

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

لست ملزمًا بإزالة البريد الإلكتروني لمستخدم محظور أو معلق. حق النسيان لا يلغي غرض المعالجة.

وكيف يتوافق ذلك مع اللائحة العامة لحماية البيانات (GDPR) وحق المستخدمين في طلب حذف بياناتهم؟

إذا احتفظت بحساباتهم، فإن ذلك لا يزال مرتبطًا ببياناتهم وتحتفظ بمعلوماتهم حتى عندما يطلبون حذف بيانات المستخدم.

أسأل بصدق، أنا لست خبيرًا قانونيًا.

يمكن للمستخدم سحب موافقته على معالجة البيانات الشخصية، ولكن الموافقة هي مجرد أساس واحد يمكن أن يجعل معالجة البيانات قانونية بموجب اللائحة العامة لحماية البيانات (GDPR).

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

المادة 17 من اللائحة العامة لحماية البيانات، مع التركيز مني.

  1. يحق لصاحب البيانات الحصول من المتحكم على محو البيانات الشخصية المتعلقة به دون تأخير غير مبرر، ويكون على المتحكم التزام بمحو البيانات الشخصية دون تأخير غير مبرر حيث ينطبق أحد الأسباب التالية: (…)
    يسحب صاحب البيانات موافقته التي تستند إليها المعالجة (…) وحيث لا يوجد أساس قانوني آخر للمعالجة؛

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

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