الخلاصة

  • يعرّف RFC 5397 خاصية محمية تُحسب لكل طلب، وتعيد رابط HTTP(S) واحداً لمورد مبدأ المستخدم الحالي أو المبدأ الزائف غير الموثّق.
  • الرابط المختار مدخل لاستعلامات لاحقة، وليس هوية بشرية عالمية ولا قائمة بكل التمثيلات ولا إذناً بعملية تالية.
  • يفصل التدقيق بين اكتشاف الخدمة والمصادقة واختيار المبدأ والوصول إلى مورده واكتشاف المجموعة المنزلية وتقييم الامتياز وتنفيذ الفعل وظهور النتيجة.

النجاح على طبقة HTTP لا يملأ طبقة الهوية

قدّم RFC 3744 لـ WebDAV موارد تمثل المستخدمين والمجموعات، وقوائم تحكم في الوصول، وخاصية تعرض الامتيازات التي يحسبها الخادم للمستخدم الحالي على مورد معين. ومع ذلك لم يكن لدى العميل طريق مباشر موصى به لمعرفة أي مورد مبدأ يربطه الخادم بالمستخدم الذي نجحت مصادقته.

يمكن لتقرير DAV:principal-match أن يعيد الفرد وكل المجموعات التي ينتمي إليها. النتيجة صحيحة لاستعلام العضوية، لكنها غامضة إذا كان المطلوب نقطة واحدة لبدء إعداد الحساب. اختيار أول عنصر أو تخمين الرابط من اسم الدخول يضيف سياسة لم يمنحها المعيار.

أضاف RFC 5397 الخاصية DAV:current-user-principal. تحتوي إما على DAV:href واحد أو DAV:unauthenticated. يجب أن يكون الرابط HTTP(S) وأن يكون من الروابط المعلنة في مورد المبدأ. بعد ذلك يستطيع العميل الاستعلام عن العضوية والروابط البديلة ومجموعات التقويم أو دفتر العناوين.

هذه الإجابة تثبت أن الخادم اختار مدخلاً لهذا الطلب. لا تثبت أن المورد التالي متاح، ولا أن الكتابة مسموحة، ولا أن مزامنة التطبيق اكتملت.

عدم المصادقة حالة وليست فراغاً

عندما لا تقع المصادقة أو تفشل، يجب أن تعيد الخاصية المبدأ الزائف غير الموثّق. يملك العميل بذلك حقيقة سلبية واضحة. لا يجوز له استبدالها بآخر رابط نجح أو بمسار مركب من اسم المستخدم.

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

يطلب RFC 6764 من مزود الخدمة فرض المصادقة على طلب PROPFIND الذي يسترجع المبدأ الحالي، حتى يتوافق الرابط مع صاحب الطلب. وإذا لم تُرجع الخاصية، فقد يحتاج العميل إلى سؤال المستخدم عن المسار. الغياب يفتح مسار إعداد بديل؛ لا يسمح باختراع الهوية.

يجب أن تسجل المراقبة الفرق بين فشل المصادقة وغياب الخاصية وتعذر مورد المبدأ. جمعها في قيمة null واحدة يخفي صاحب المشكلة ويشجع حلولاً تعيد إسناداً قديماً.

للمبدأ أكثر من تمثيل ممكن

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

لا يجعل ذلك الرابط مفتاحاً عالمياً للشخص. قد يغيّر نقل الدليل الرابط من دون تغيير المستخدم. وقد تستخدم خدمتان مساراً متشابهاً لمبدأين مختلفين. يجب حفظ سلطة الخدمة ووقت الطلب ونتيجة المصادقة والرابط والتحويلات والخصائص اللاحقة معاً.

دمج تمثيلين يحتاج إلى دليل من السلطة التي تديرهما. تشابه النص أو نجاح تحويل واحد لا يكفي خارج ذلك النطاق. كذلك لا يعني تغير الرابط وحده اختراقاً؛ قد يكون انتقالاً مشروعاً أو خطأ موازنة أو تغييراً في ربط الهوية.

الاستجابة المهنية تفتح تحقيقاً ولا تنشئ حساباً جديداً تلقائياً ولا تدمج سجلين بصمت.

الخاصية تخص الطلب لا الوثيقة

يحمي الخادم الخاصية ويحسبها لكل طلب لأن الإجابة تعتمد على حالة المصادقة الحالية. لذلك لا تُنسخ ولا تُنقل مع COPY أو MOVE. يمكن للوثيقة أن تتحرك، أما من يُعد المستخدم الحالي فيُعاد حسابه عند كل مشاهدة.

إذا خزّنت أداة ترحيل هذه القيمة كبيانات ثابتة، فسوف تجمد هوية طالب قديم داخل مورد يقرأه آخرون لاحقاً. سجل منفذ العملية مهم للتدقيق، لكنه ليس بديلاً عن اكتشاف المبدأ الحالي.

يسمح RFC 6764 بتخزين تفاصيل الاكتشاف الناجحة، ومنها رابط المبدأ. غير أنه يطلب إعادة البحث عن الخدمة والحساب عند استمرار فشل الاتصال أو المصادقة. للنسخة المخبأة مصدر وشرط تحديث؛ ولا تنتقل إليها سلطة الخادم.

بهذا يمكن فصل رابط مخبأ قديم عن اعتماد فاشل أو ربط مبدأ متغير أو مورد غير متاح أو صلاحية معدلة.

الرابط لا يحسب امتياز المورد الهدف

تحدد خاصية المبدأ الحالي مكان متابعة معلومات الهوية. أما DAV:current-user-privilege-set في RFC 3744 فتعبّر عن الامتيازات التي حسبها الخادم للمستخدم الحالي على مورد بعينه.

قد يقرأ المستخدم مورد مبدئه ولا يكتب في تقويم. قد يكون عضواً في مجموعة ولا يملك دفتراً معيناً. وقد يملك الكتابة لكن يفشل شرط ETag أو تعارض التطبيق. نجاح الاستعلام الأول لا يختصر القرارات التالية.

تبيّن مسارات CalDAV وCardDAV السلسلة: العثور على الخدمة، التحقق من الاتصال، المصادقة، الحصول على المبدأ، اكتشاف المجموعة المنزلية، الوصول إلى الهدف، تقييم الامتياز، تنفيذ الطريقة ثم رؤية الأثر.

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

الحد الأدنى الكافي من الأدلة

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

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