توخ الحذر عند استخدام بيانات حساسة في هذه الحقول. لا يتم العثور على الحقول في المصدر، ولكن يمكن أن تكون مرئية إذا حدث خطأ ما. بالإضافة إلى ذلك، ستظهر النتائج في أداة البحث.
لدي مستخدمان، derek_test (يسار) و anon9 (يمين). يتم ملء حقلي المعرّف (ID) والشركة (Company) في ملفاتهما الشخصية، ولكن أحدهما فقط مرئي للآخر. يمكن لـ derek_test رؤية ID ويمكن لـ anon9 رؤية Company.
ماذا يرى المستخدمون غير المسجلين؟ إذن، إذا كان الحقل مرئيًا للمسؤولين فقط، فأتوقع أن المستخدمين لن يتمكنوا من رؤيته حتى بعد تسجيل الخروج، أليس كذلك؟
هل هناك سبب لاختيارك حقل النص لإعداد المجموعة بدلاً من قائمة_مجموعات؟ إنه أكثر ملاءمة لإدخال المجموعات لأنه يمكنك تحديدها بدلاً من كتابة الاسم. ومع ذلك، فإنه يعمل مع المعرف، لذا عليك تغيير الكود قليلاً. ولكنه لا يزال يعمل حتى إذا قمت بإعادة تسمية المجموعة.
حسنًا.. على الرغم من أن الإعدادات في محرر الكائنات قبلت list_type:group، إلا أنني لم أتمكن من تجاوز خطأ:
لقد جربت بعض التحويلات المختلفة ولكن لم أتمكن من تجاوزها. الحكم هو أن “نوع groups في مخططات الكائنات موثق ولكن الواجهة الأمامية لم تنفذ الواجهة الرسومية.”
مرحباً أليكسي،
هل يمكنك التوضيح؟ لا أرى المشكلة. حاليًا يوجد 1 و 2. هل طلبك هو إخفاء الحقول عن المشرفين/المديرين أيضاً؟ على أي حال، سيتعين على المديرين إنشاء الحقل في البداية.
لقد اختبرته مرة أخرى على مستودع GitHub المحلي النظيف الأحدث وعلى الحل المستضاف بأحدث إصدار - تتأثر فئة المسؤول فقط ويمكنه رؤية الحقل المخفي إذا كان عضواً في مجموعة يُسمح لها برؤية هذا الحقل. حتى وصول المشرف (كما اعتقدت من قبل لا يعمل)
الحالة:
مستخدمان، مسؤول ومستخدم اسمه Alex_1
مجموعة المستخدمين L2_verified
حقل المستخدم - الاسم الكامل (لجميع المستخدمين، الكل قيد التشغيل، قابل للبحث فقط إيقاف)
كلا المستخدمين لديهما أسماء: Alex Admin و Alex
إعدادات السمة:
تضمين المكون في هذه السمات (Foundation، Horizon)
اسم الحقل: الاسم الكامل
المجموعات المسموح بها: L2_verified
النتائج:
كلاهما ليسا عضوين في L2_verified - لا يرى أحد حقل الاسم الكامل (حتى اسمه الكامل الخاص)
المسؤول عضو في L2_verified - يمكنه رؤية الاسم الكامل لـ Alex_1 (واسمه الكامل الخاص)
Alex_1 عضو في L2_verified - لا يمكنه رؤية الاسم الكامل لنفسه وللمسؤول
عندما منحت المسؤول لـ Alex_1 - يمكنه رؤية الاسم الكامل لكليهما - لنفسه وللمسؤول
شكراً لك على هذا المكون الرائع! إنه أساس ممتاز لإدارة خصوصية المستخدمين على Discourse.
لقد طورت نسخة متخصصة من عملك تتميز بـ الرؤية ثنائية الاتجاه (المتبادلة). في مجتمعنا المهني، احتجنا إلى نموذج “الثقة المتبادلة” حيث يمكن للأعضاء المعتمدين رؤية الأسماء الحقيقية/بيانات الأعمال لبعضهم البعض، ولكن يظلون مجهولين تمامًا للعامة أو للمستخدمين غير المعتمدين.
الميزات الرئيسية لهذه النسخة:
المنطق المتبادل: يتم الكشف عن حقل فقط إذا كان كل من العارض ومالك الملف الشخصي ينتميان إلى المجموعة المصرح لها.
إشراف الموظفين: يحتفظ المسؤولون والمشرفون برؤية كاملة لأغراض السلامة والإشراف.
الرؤية الذاتية: يمكن للمستخدمين دائمًا رؤية حقولهم المخفية، حتى لو لم يكونوا جزءًا من المجموعة المصرح لها بعد، حتى يتمكنوا من إدارة ملفهم الشخصي.
خصوصية الند للند: يضمن هذا أن المستخدمين المعتمدين لا يكشفون عن هويتهم لشخص لم يخضع لنفس مستوى التحقق.
خارطة الطريق: في التحديثات المستقبلية، أخطط لإضافة إعدادات مجموعات دقيقة لتحديد المجموعات التي يمكنها الرؤية والتي يمكن رؤيتها بالضبط (على سبيل المثال، السماح للمجموعة أ برؤية المجموعة ب، ولكن ليس العكس).
أنا حاليًا بصدد صقل التوثيق وأخطط لنشر هذا كنسخة مستقلة “للخصوصية المتقدمة” في موضوع منفصل بمجرد حصولي على وصول كامل إلى فئة مكونات الثيم (Theme Components).
في غضون ذلك، إذا احتاج أي شخص إلى هذا المنطق ثنائي الاتجاه، فيمكنكم الاطلاع عليه هنا: GitHub:https://github.com/AirVetra/discourse-hidden-user-fields-bidirectional
إلى أي شخص يستخدم هذا، كإعلان خدمة عامة، انتهى بي الأمر باتباع مسار مختلف عن هذا المكون الخاص بالموضوع. اكتشفت أن المصطلحات كانت مرئية عند البحث عنها، وهو ما يمثل ثغرة أمنية كبيرة. أضيف توضيحًا بأن “قابل للبحث” (Searchable) يشير إلى دليل المستخدم، وليس بحث الموقع.
لنضف علامة #غير_مُصان. أتركه قائماً لأن شخصاً ما قد يجده قيماً، لكن اكتشافي الأخير كان سبباً لرفضي. يبدو هذا كافياً كإشارة لشخص ما ليتفحص الأمر عن كثب.