Como evitar problemas entre domínios por proxy no IIS?
-
06-07-2019 - |
Pergunta
Eu tenho um site escrito em Delphi que precisa obter dados de um serviço .NET web. A fim de consumir o serviço web Estou anexando a um site web .NET primeiro que contém um assistente que o usuário final tem que preencher, que por sua vez é então chamar o serviço web, a fim de preencher AJAX drop-down listas e retornar dados ao chamar aplicação web Delphi.
Assim, para ser claro ...
- web site Delphi abre web site .NET
- web site .NET preenche AJAX listas suspensas de serviço .NET web
- Quando o usuário clica enviar no .NET web assistente que chama o serviço web .NET para obter dados e retorna ao site Delphi
No entanto chamar o serviço .NET web para preencher as listas suspensas provoca IE6 (e de fato todos os navegadores) para tratar isso como uma ameaça à segurança de domínio cruzado e eu recebo a informação "Esta página está acessando que não está sob seu controle. Este poses um risco de segurança ..." erro.
O código para a queda baixos é a seguinte (em caso isso ajude) ...
No arquivo .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>
no arquivo C #
DocCategoryCascadingDropDown.ServicePath = path;
Se o caminho é no mesmo servidor como o site funciona bem, mas se o caminho não é que eu receber o aviso, portanto, deve ser uma questão de segurança de domínio cruzado.
Eu tive problemas semelhantes com serviços web Java antes e eu tenho em torno deste usando proxy no Apache, a fim de tornar o site que hospeda o assistente eo serviço web parecem existir no mesmo domínio e, portanto, parada os erros.
Alguém pode me dizer como posso fazer a mesma coisa no IIS, por favor?
Se houver mais alguma informação que pode fornecer, por favor deixe-me saber como eu realmente gostaria de obter este problema resolvido o mais rápido que eu puder.
Muito obrigado antecipadamente.
Solução
OK, depois de muita googling (e ranger de dentes) Eu encontrei este site que faz um bom trabalho de explicar a solução.
http://dotnetslackers.com/columns/ajax/MashitUpwithASPNETAJAX.aspx
Só vai para mostrar o quão importante é saber como pedir a direito pergunta:)