العديد من المواقع الإلكترونية وجعل طلبات "الموقع المتبادل" غير قانوني

StackOverflow https://stackoverflow.com/questions/1487864

  •  18-09-2019
  •  | 
  •  

سؤال

لدي مواقع اثنين من IIS تشير إلى المجلدات الفيزيائية المنتفحة. هذا هو أن تكون قادرا على التمييز على web.config والملفات والجمعيات المستخدمة لقاعدة بيانات المواقع للإشارة إلى نفس مثيل كلا الموقعين في Web.config يتم تكوينها للبدء من أجزاء مختلفة، بل هو هذا:

  • / Sitecore / المحتوى / الصفحة الرئيسية / الافتراضي

  • / Sitecore / المحتوى / الصفحة الرئيسية / إنترانت

حتى الان جيدة جدا.

الآن، المشكلة هي أنني قادر على استرداد المحتوى لا ينتمي إلى الموقع الفعلي عن طريق إدخال مسارها الكامل. بمعنى آخر.

http://www.default.com/sitecore/content/home/intranet.aspx <- يجب عدم السماح بذلك www.default.com تم تكوينه مع /sitecore/content/home/default كجذر.

هل هناك أي آلية مدمجة لا تتبلح بهذا أو لا بد لي من تصنيف ItemResolver لجعل "المواقع المتقاطعة" -Requests غير قانوني.

هل كانت مفيدة؟

المحلول

هذا شيء يتعلق بكيفية حل Sitecore العناصر، لقد وجدت 3 عناوين URL مختلفة لكل عنصر. على سبيل المثال، قل لي الهيكل التالي:

-sitecore
  -content
    -home
      -page1

يمكنني الوصول إلى Page1 إما من خلال:

  • http://mysite/sitecore/content/home/page1.aspx
  • http://mysite/page1.aspx
  • http://mysite/home/page1.aspx

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

أتصور أنه نظرا لأن لديك اثنين من Web.config منفصلين لديك أيضا لفصل أقسام تكوين Sitecore. إذن ما يمكننا القيام به هو إنشاء عملية خط أنابيب تعمل كجزء من طلب HTTP بدء تشغيل خط أنابيب (في Web.config ك / التكوين / Sitecore / خطوط الأنابيب / httpreceestbegin) إنشاء واحد لكل موقع وتحديث Web.config ذات الصلة. عند استدعاء هذه العملية، يمكن أن تنشئ مستخدم افتراضي ينتمي إلى مجموعة تقيد الوصول إلى الموقع الذي طلبه المستخدم.

هناك بعض الكود هنا هذا يظهر لك كيفية إنشاء مستخدم افتراضي:

و هنا على خطوط الأنابيب:

أتمنى أن يساعدك هذا :-)

نصائح أخرى

حسنا إذا كانت عنصر الإنترانت (وتحت) محمية مع Sitecore Security، فلا ينبغي أن يكون مشكلة ولا يمكن الوصول إليه :)

إذا لم تتمكن من التعامل معها بالأمان، فسأذهب مع ItemResolver.

هتافات

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top