كيفية منع حدوث مشكلات عبر المجال عن طريق الوكيل في IIS؟

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

سؤال

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

لذا، لكي نكون واضحين...

  1. يفتح موقع ويب دلفي موقع الويب .NET
  2. يقوم موقع ويب .NET بملء قوائم AJAX المنسدلة من خدمة ويب .NET
  3. عندما ينقر المستخدم على إرسال على معالج الويب .NET فإنه يستدعي خدمة الويب .NET للحصول على البيانات والعودة إلى موقع ويب دلفي

ومع ذلك، فإن استدعاء خدمة الويب .NET لملء القوائم المنسدلة يتسبب في تعامل IE6 (وفي الواقع جميع المتصفحات) مع هذا باعتباره تهديدًا أمنيًا عبر النطاقات، وأحصل على الرسالة "تقوم هذه الصفحة بالوصول إلى معلومات ليست تحت سيطرتها.وهذا يشكل خطرًا أمنيًا..." خطأ.

رمز القوائم المنسدلة هو كما يلي (في حال كان ذلك مفيدًا) ...

في ملف .apsx

<asp:DropDownList ID="DocCategoryDropDown" 
              runat="server" 
              OnSelectedIndexChanged="DocCategoryDropDown_SelectedIndexChanged"
              AutoPostBack="true">
</asp:DropDownList>
<ajaxToolkit:CascadingDropDown ID="DocCategoryCascadingDropDown" 
                           runat="server" 
                           TargetControlID="DocCategoryDropDown"
                           LoadingText="[Loading...]" 
                           Category="CategoryId" 
                           UseContextKey="True" 
                           ContextKey="NY"
                           PromptText="Select a Category" 
                           ServiceMethod="GetDocCategory" 
                           ServicePath="tba">
</ajaxToolkit:CascadingDropDown>

في ملف C#

DocCategoryCascadingDropDown.ServicePath = path;

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

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

هل يمكن لأحد أن يقول لي كيف يمكنني أن أفعل نفس الشيء في IIS، من فضلك؟

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

شكرا كثيرا مسبقا.

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

المحلول

حسنًا، بعد الكثير من البحث على Google (وصرير الأسنان)، وجدت هذا الموقع الذي يقوم بعمل جيد في شرح الحل.

http://dotnetslackers.com/columns/ajax/MashitUpwithASPNETAJAX.aspx

يذهب فقط لإظهار مدى أهمية معرفة كيفية طرح السؤال يمين سؤال :)

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