Как реализовать заголовок «Access-Control-Allow-Origin» в asp.net - PullRequest
31 голосов
/ 29 июня 2011

Возможно ли реализовать заголовок "Access-Control-Allow-Origin" в asp.net

Ответы [ 5 ]

60 голосов
/ 29 июня 2011

С enable-cors.org :

CORS на ASP.NET

Если у вас нет доступа к настройке IIS, вы все равно можете добавить заголовок через ASP.NET, добавив следующую строку на исходные страницы:

Response.AppendHeader("Access-Control-Allow-Origin", "*");

См. Также: Настройка IIS6 / IIS7

13 голосов
/ 25 апреля 2017

Другой вариант - добавить его непосредственно в web.config:

<system.webServer>
    <httpProtocol>
      <customHeaders>
        <add name="Access-Control-Allow-Origin" value="http://www.yourSite.com" />
        <add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE, OPTIONS"/>
        <add name="Access-Control-Allow-Headers" value="Origin, X-Requested-With, Content-Type, Accept" />
      </customHeaders>
    </httpProtocol>

... Я нашел это в здесь

6 голосов
/ 17 декабря 2016

1.Install-Package Microsoft.AspNet.WebApi.Cors

2.Добавьте этот код в WebApiConfig.cs.

public static void Register(HttpConfiguration config)
{
    // Web API configuration and services

    // Web API routes

    config.EnableCors();

    config.MapHttpAttributeRoutes();

    config.Routes.MapHttpRoute(
        name: "DefaultApi",
        routeTemplate: "api/{controller}/{id}",
        defaults: new { id = RouteParameter.Optional }
    );
}

3.Добавьте это

using System.Web.Http.Cors; 

4.Добавьте этот код в Api Controller ( HomeController.cs )

[EnableCors(origins: "*", headers: "*", methods: "*")]
public class HomeController : ApiController
{
    [HttpGet]
    [Route("api/Home/test")]
    public string test()
    {
       return "";
    }
}
1 голос
/ 26 июля 2013

Вам потребуется модуль HTTP, который просматривает запрошенный ресурс, и, если это был файл css или js, он будет привязывать заголовок Access-Control-Allow-Origin с URL-адресом запросчиков, если вы не хотите, чтобы он широко открывался с помощью '*».

0 голосов
/ 31 мая 2018

Конфигурирование заголовков ответов CORS на сервере на самом деле не вариант.Вы должны настроить прокси на стороне клиента.

Sample to Angular - Итак, я создал файл proxy.conf.json для работы в качестве прокси-сервера.Ниже приведен мой файл proxy.conf.json:

{
  "/api": {
    "target": "http://localhost:49389",
    "secure": true,
    "pathRewrite": {
      "^/api": "/api"
    },
    "changeOrigin": true
  }
}

Поместите файл в тот же каталог package.json, затем я изменил команду запуска в файле package.json, как показано ниже

"start": "ng serve --proxy-config proxy.conf.json"

Теперь http-вызов из компонента приложения выглядит следующим образом:

return this.http.get('/api/customers').map((res: Response) => res.json());

И наконец, для запуска используйте npm start или ng serve --proxy-config proxy.conf.json

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...