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
Asp.net Core 跨域配置的更多相关文章
- Asp.Net Core跨域配置
在没有设置跨域配置的时候,Ajax请求时会报以下错误 已拦截跨源请求:同源策略禁止读取位于 http://localhost:5000/Home/gettime 的远程资源.(原因:CORS 头缺少 ...
- Asp.net core 跨域设置
验证环境: dotnet core 2.1/Asp.net core2.1 一.作用域在中间件层 配置的方式是在startup.cs文件Configure(IApplicationBuilder a ...
- asp.net允许跨域配置web.config
<configuration> <system.webServer> <modules> <add name="CultureAwareHttpMo ...
- asp.net mvc 跨域配置
修改 web.config 文件 <system.webServer> <httpProtocol> <customHeaders> <add name=&q ...
- asp.net (webapi) core 2.1 跨域配置
原文:asp.net (webapi) core 2.1 跨域配置 官方文档 ➡️ https://docs.microsoft.com/zh-cn/aspnet/core/security/cors ...
- asp.net core api 跨域配置
项目前后端分离,前端请求接口例如使用axios发送请求时浏览器会提示跨域错误,需要后端配置允许接口跨域 配置步骤: 1.通过NuGet安装Microsoft.AspNetCore.Cors.dll类库 ...
- 连表查询都用Left Join吧 以Windows服务方式运行.NET Core程序 HTTP和HTTPS的区别 ASP.NET SignalR介绍 asp.net—WebApi跨域 asp.net—自定义轻量级ORM C#之23中设计模式
连表查询都用Left Join吧 最近看同事的代码,SQL连表查询的时候很多时候用的是Inner Join,而我觉得对我们的业务而言,99.9%都应该使用Left Join(还有0.1%我不知道在 ...
- .net core api服务端跨域配置
第1步:添加包引用(.net core 2.2 已自带此包,可跳过此步骤) Install-Package Microsoft.AspNetCore.Cors 第2步:在Startup.cs文件的Co ...
- Asp.net跨域配置
<system.webServer> <httpProtocol> <customHeaders> <add name="Access-Contro ...
随机推荐
- AutoMapper 使用总结
初识AutoMapper 在开始本篇文章之前,先来思考一个问题:一个项目分多层架构,如显示层.业务逻辑层.服务层.数据访问层.层与层访问需要数据载体,也就是类.如果多层通用一个类,一则会暴露出每层的字 ...
- Android studio打开项目一直卡住
修改/gradle/wrapper/gradle-wrapper.properties文件中的最后一行distributionUrl=:(可找一个可用项目的复制过来)
- iOS学习——获取iOS设备的各种信息
不管是在Android开发还是iOS开发过程中,有时候我们需要经常根据设备的一些状态或信息进行不同的设置和性能配置,例如横竖屏切换时,电池电量低时,内存不够时,网络切换时等等,我们在这时候需要进行一些 ...
- 如何将VS 2015中的项目上传到github
最近开始慢慢接触github,现在希望将自己平时写的小程序,上传到github上,以便以后有个参考,在遇到同样问题的时候不至于想不起来怎么做而到处找别人的例子. VS 2015设置 首先下载跟gith ...
- java基础概述
写代码: 1,明确需求. 2,分析思路. 3,确定步骤. 4,代码实现. Java的三种技术架构: JAVAEE:Java Platform Enterprise Edition,开发企业环境下的应用 ...
- 高效开发技巧:为什么你下载Git项目这么慢?
文章首发于[博客园-陈树义],点击跳转到原文<高效开发技巧:为什么你下载Git项目这么慢?>. 笔者所在公司采用的是 GitLab 进行版本管理,但许多同事下载 Git 项目的路径是这样的 ...
- Laravel ORM 数据model操作
1.ORM操作需要创建对应的model class User extends Eloquent 2.有两种方式使用数据操作对象 a. 使用new关键字创建对象 ...
- VirtualBox5虚拟机 安装ubuntu16.04
其实这是一个伪标题,因为主要的重心不是安装这个系统,而是怎样让它全屏显示! 自己想在ubuntu下装个Pycharm玩python,因此需要一个ubuntu系统镜像,好吧,找路子去下载,但是别下各种来 ...
- JS原型、原型链深入理解
原型是JavaScript中一个比较难理解的概念,原型相关的属性也比较多,对象有”prototype”属性,函数对象有”prototype”属性,原型对象有”constructor”属性. 一.初识原 ...
- Java面向对象抽象类实例练习
abstract class Animal { abstract void eat(); } class Cat extends Animal { void eat() { System.out.pr ...