如何在IIS7中使用CORS?

时间:2018-03-18 09:40:56

标签: asp.net ajax iis-7 cors

我正在使用ESignature项目。我可以描述一下这个项目是:

用户从IE 11访问我的网页,上传文件(网络部署在网络服务器中) - >单击“签名”按钮 - > ... - >一个js函数signFile()将ajax调用到安装在客户端计算机中的插件(插件的URL:https://127.0.0.1:14415/) - >插件调用USB,可以签署文件并连接到客户端计算机(该插件是一个.NET应用程序,在客户端计算机上运行https://127.0.0.1:14415)。

问题是当我使用函数signFile()时,我无法从web调用ajax到插件。我认为它是同源政策,因为插件安装在客户端计算机中(与网络服务器的域不同)。

我尝试将此添加到web.config但它无法正常工作,仍被拒绝:

<system.webServer>
<httpProtocol>
 <customHeaders>
   <add name="Access-Control-Allow-Origin" value="*" />
 </customHeaders>
</httpProtocol>
</system.webServer>

这是signFile()函数:

function signFile(xmlData) {
    var hSession = document.getElementById("lbhSession").value;
    var text = xmlData;
    var domain = "https://127.0.0.1:14415/";
    var xmlhttp;
    if (XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
        xmlhttp = new XMLHttpRequest();
    }
    else {// code for IE6, IE5
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange = function () {
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
             // Read Response
        }   
    }
    xmlhttp.open("POST", domain + "signXMLData", true);
    xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xmlhttp.send("sessionID=" + hSession + "&xmlData=" + text + "&signType=0" + "&tagXMLData=*");
}

那么如何在这种情况下使用CORS。

我不知道哪个站点需要配置CORS(我的网站或插件)。我只需要从webserver(函数signFile)调用ajax到指定的插件(在客户端计算机中:{{ 3}}),而不是任何其他IP或站点。 我必须使用浏览器IE 11。

全力以赴。

很抱歉,如果我的问题有任何让你难以理解或类似的事情。

0 个答案:

没有答案