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

  • 相关阅读:
    MYSQL数据库间同步数据
    mysqld-nt: Out of memory (Needed 1677720 bytes)解决方法
    Apache优化:修改最大并发连接数
    MySql 存储过程实例(附完整注释)
    android loadlibrary 更改libPath 路径,指定路径加载.so
    如何在ANDROID JNI 的C++中打Log
    递归转手工栈处理的一般式[C语言]
    计算机语言学习导论[C/C++]
    程序错误[C/C++]
    访问栈为什么会比访问堆快?
  • 原文地址:https://www.cnblogs.com/lxhbky/p/11128217.html
Copyright © 2011-2022 走看看