zoukankan      html  css  js  c++  java
  • .net core入门-跨域访问配置

    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://www.cnblogs.com/xiaoliangge/p/7650465.html

  • 相关阅读:
    hdu 1426(DFS+坑爹的输入输出)
    hdu 1430(BFS+康托展开+映射+输出路径)
    hdu 1664(数论+同余搜索+记录路径)
    BestCoder Round #86 二,三题题解(尺取法)
    hdu 1226(同余搜索)
    poj 1426(同余搜索)
    poj 2251(同余)
    hdu 1044(bfs+dfs+剪枝)
    hdu 1455(DFS+好题+经典)
    安装centos7后不能联网
  • 原文地址:https://www.cnblogs.com/lxhbky/p/11128217.html
Copyright © 2011-2022 走看看