के लिए CORS को कार्यान्वित करने का प्रयास करते समय मैं domainb.contoso.com पर स्थित वेब एप्लिकेशन से domainA.contoso.com पर स्थित listdata.svc (एक शेयरपॉइंट सेवा) तक पहुंचना चाहता हूं - प्रमाणीकरण एक समस्या प्रतीत होता है।401 SharePoint
एक JQuery अजाक्स कॉल के माध्यम से ListData.svc तक पहुंचने का प्रयास करते समय, CORS सक्षम के साथ, सर्वर 401 देता है। यदि मैं एक .htm पृष्ठ से एक ही क्वेरी चलाता हूं जिसे मैं SharePoint के अंदर से निष्पादित करता हूं, तो कॉल ठीक काम करता है, चूंकि डोमेन वही है।
शेयरपॉइंट एनटीएलएम का उपयोग अज्ञात प्रमाणीकरण के साथ बंद कर रहा है - मुझे लगता है कि 401 विंडोज़ क्रेडेंशियल का परिणाम है जो SharePoint सर्वर पर नहीं जा रहा है - लेकिन मुझे हेडर पर इन क्रेडेंशियल को सही तरीके से जोड़ने का नुकसान हुआ है। मैंने xhrFields सेट किया है: {withCredentials: true}, लेकिन यह प्रमाणीकरण समस्या को सही नहीं लगता है।
- पहुंच-नियंत्रण-अनुमति दें-क्रेडेंशियल: सच
- पहुंच-नियंत्रण-अनुमति दें-हेडर
CORS सक्षम करने के लिए, मैं आईआईएस में SharePoint पर निम्न HTTP प्रतिक्रिया हेडर निर्धारित किया है: उत्पत्ति, सामग्री प्रकार, स्वीकार करें
- पहुंच-नियंत्रण-अनुमति दें-मूल: *
- पहुंच-नियंत्रण-अनुरोध-तरीके: पोस्ट, मिलता है, प्रमुख, विकल्प
आईआईएस में मेरे वेब एप्लिकेशन के लिए विंडोज प्रमाणीकरण सक्षम है, और मैंने आईआईएस में "OPTIONSVerbHandler" HTTP हैंडलर सेट नहीं किया है। इसे पढ़ने के लिए बारी करना एक फर्क नहीं पड़ता है।
JQuery अजाक्स कॉल (आवेदन से subdomainB.contoso.com पर):
$.ajax({
type: "GET",
contentType: "application/json; charset=utf-8",
url: listUrl,
xhrFields: { withCredentials: true },
crossDomain:true,
processData: false,
async: true,
dataType: "json",
converters: {
// WCF Data Service .NET 3.5 incorrectly escapes singles quotes, which is clearly
// not required (and incorrect) in JSON specs.
// http://bugs.jquery.com/ticket/8320?cversion=0&cnum_hist=1
"text json": function (textValue) {
return jQuery.parseJSON(textValue.replace(/(^|[^\\])\\'/g, "$1'"));
}
},
success: function (data, status, xhr) {
//successFunc(data.d.results);
alert("working!");
},
error: function (xhr, status, error) {
alert("failure!");
}
});
HTTP हैडर और 401 उत्तर:
Key Value
Request OPTIONS /_vti_bin/ListData.svc/Contacts HTTP/1.1
Accept */*
Origin http://domainB.contoso.com
Access-Control-Request-Method GET
Access-Control-Request-Headers content-type, accept
Accept-Encoding gzip, deflate
User-Agent Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0)
Host domainA.contoso.com
Content-Length 0
DNT 1
Connection Keep-Alive
Cache-Control no-cache
Key Value
Response HTTP/1.1 401 Unauthorized
Server Microsoft-IIS/7.5
SPRequestGuid 1e33061c-f555-451b-9d69-0d83eff5f5ea
WWW-Authenticate NTLM
X-Powered-By ASP.NET
MicrosoftSharePointTeamServices 14.0.0.4762
Access-Control-Allow-Headers Origin, Content-Type, Accept
Access-Control-Allow-Origin *
Access-Control-Request-Methods POST, GET, HEAD, OPTIONS
Access-Control-Allow-Credentials true
Date Wed, 15 May 2013 15:04:51 GMT
Content-Length 0
क्या आपने इसे http://sharepoint.stackexchange.com/ –