因此,我一直在拖延我可以找到關於這個主題的每一篇文章,但仍然沒有弄清楚。希望你能幫助:Web API + CORS +基本NTLM:401與Firefox + Chrome
的Web API 2 CORS啓用:
config.EnableCors(new EnableCorsAttribute("*", "*", "*"));
的web.config:
<system.web>
<compilation debug="true" targetFramework="4.5" />
<httpRuntime targetFramework="4.5" />
<authentication mode="Windows" />
</system.web>
jQuery的
<script>
$(document).ready(function()
{
$("button").click(function()
{
var endpoint = "http://localhost:82/api/test";
var base64Credentials = window.btoa("domain\credentials:password");
$.ajax({
url: endpoint,
beforeSend: function(xhr) {
xhr.withCredentials = true;
xhr.setRequestHeader("Authorization", "Basic " + base64Credentials);
},
success: function(result) {
alert(result);
}
});
});
});
</script>
IIS啓用了基本身份驗證。
基本身份驗證在IE中工作。 Firefox和Chrome受到預檢OPTIONS調用的約束。
使用Fiddler,我可以看到,如果我將IIS設置爲同時允許匿名和基本身份驗證,那麼OPTIONS調用將導致200,然後隨後的基本身份驗證GET和全部在世界上都是正確的。如果我關閉匿名,那麼我會在OPTIONS調用中獲得401。
問:
它是一個必要條件允許匿名和基本身份驗證都支持這種使用情況?