Мне нужно сделать CORS из/в различные домены Sharepoint и, конечно же, обработать запрос предварительной проверки OPTIONS. После многих исследований я обнаружил, что решение this является (почти) лучшим для моих нужд. Изменение global.asax позволяет обрабатывать несколько доменов с переданными учетными данными и запрос предварительной проверки OPTIONS.Включить CORS в Sharepoint 2013
Плохая сторона заключается в том, что после применения ее, как было предложено, вы больше не можете войти в Sharepoint Designer.
Я изменил global.asax, как показано ниже, CORS в порядке, но Sharepoint Designer no.
public void Application_BeginRequest(object sender, EventArgs e)
{
string httpOrigin = Request.Params["HTTP_ORIGIN"];
if (httpOrigin != null)
{
HttpContext.Current.Response.AddHeader("Access-Control-Allow-Origin", httpOrigin);
HttpContext.Current.Response.AddHeader("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS");
HttpContext.Current.Response.AddHeader("Access-Control-Allow-Headers", "Content-Type, Accept, X-RequestDigest");
HttpContext.Current.Response.AddHeader("Access-Control-Allow-Credentials", "true");
if (Request.HttpMethod == "OPTIONS")
{
HttpContext.Current.Response.StatusCode = 200;
var httpApplication = sender as HttpApplication;
httpApplication.CompleteRequest();
}
}
}
Я прочитал с Скрипач запрос, который Sharepoint Designer делает и есть не заголовок «Origin», поэтому я не знаю, где он выходит из строя. Когда я пытаюсь войти в Sharepoint Designer, я получаю всегда 401 в качестве ответа.
Есть ли кто-то, кто знает, как его решить? Спасибо