zoukankan      html  css  js  c++  java
  • Asp.net Core 跨域配置

    一般情况WebApi都是跨域请求,没有设置跨域一般会报以下错误

     No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:48057' is therefore not allowed access.

    ASP.net Core 跨域有两种,全局和区域

    全局跨域:

    打开Startup.cs文件.在ConfigureServices方法中添加以下代码

    1.配置跨域处理,允许所有来源:

          //配置跨域处理,允许所有来源:
                services.AddCors(options =>
                options.AddPolicy("自定义的跨域策略名称",
                p => p.AllowAnyOrigin())
                );

    2.允许一个或多个具体来源:

    //允许一个或多个具体来源:
    services.AddCors(options =>
            {
                // Policy 名稱 CorsPolicy 是自訂的,可以自己改
                options.AddPolicy("跨域规则的名称", policy =>
                {
                    // 設定允許跨域的來源,有多個的話可以用 `,` 隔開
                    policy.WithOrigins("http://localhost:3000","http://127.0.0.1")
                            .AllowAnyHeader()
                            .AllowAnyMethod()
                            .AllowCredentials();
                });
            });

    以上两种按需求选择一种即可.

    Configure方法中添加以下代码

    app.UseCors("自定义的跨域策略名称");//必须位于UserMvc之前 
    app.UseMvc();

     局部跨域第一种用法:

    1.ConfigureServices方法不变,删去Configure中的app.UseCors()方法

    2.在Controller顶部或者Action方法顶部加上[EnableCors("自定义的跨域策略名称")]特性,例如

    [EnableCors("自定义的跨域策略名称")]
    [Route(
    "api/[controller]")]
    public class ContactController : Controller

    以上就可实现指定某个controller或者action跨域

    禁止跨域:

    禁止跨域在Controller或者Action加上[DisableCors]特性即可禁止跨域

    [HttpGet("{id}")]
    [DisableCors]
    public string Get(int id)
    {
      return "value";
    }

    参考:

    https://blog.johnwu.cc/article/asp-net-core-cors.html?from=singlemessage&isappinstalled=0

    https://docs.microsoft.com/en-us/aspnet/core/security/cors

    http://www.cnblogs.com/tianma3798/p/6920704.html

  • 相关阅读:
    vuex 命名空间
    vue-touchjs
    Jackson最简单用法
    Bootstrap登录样式
    Left/Right/Inner Join用法和区别
    VS2015安装提示出现“安装包丢失或损坏”解决方法
    HTML之禁止输入文本
    jQuery之call()方法的使用
    jQuery操作cookie
    jQuery常用的查找Dom元素方法
  • 原文地址:https://www.cnblogs.com/xiaoliangge/p/7650465.html
Copyright © 2011-2022 走看看