Как предотвратить междоменные проблемы с помощью прокси в IIS?

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

Вопрос

У меня есть сайт, написанный на Delphi, который должен получать данные из веб-службы .NET. Чтобы использовать веб-службу, я сначала присоединяюсь к веб-сайту .NET, который содержит мастер, который должен заполнить конечный пользователь, который, в свою очередь, затем вызывает веб-службу для заполнения раскрывающихся списков AJAX и вернуть данные в вызывающее веб-приложение Delphi.

Итак, чтобы быть ясным ...

<Ол>
  • Веб-сайт Delphi открывает веб-сайт .NET
  • Веб-сайт .NET заполняет раскрывающиеся списки AJAX из веб-службы .NET
  • Когда пользователь нажимает кнопку "Отправить" в веб-мастере .NET, он вызывает веб-сервис .NET для получения данных и возвращается на веб-сайт Delphi.
  • Однако вызов веб-службы .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, пожалуйста?

    Если есть какая-либо дополнительная информация, которую я могу предоставить, пожалуйста, дайте мне знать, поскольку я действительно хотел бы решить эту проблему, как только смогу.

    Заранее большое спасибо.

    Это было полезно?

    Решение

    Хорошо, после долгих поисков (и скрежета зубов) я нашел этот сайт, который хорошо объясняет решение проблемы.

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

    Просто покажу, как важно знать, как задать правильный вопрос:)

    Лицензировано под: CC-BY-SA с атрибуция
    Не связан с StackOverflow
    scroll top