Asp.net Core CORS 跨域
本文主要介绍在Asp.net Core采用CORS方式解决跨域
关于跨域的原理介绍可参考Asp.net Web API 解决跨域详解
1 在Startup添加允许跨域的策略
services.AddCors(options =>
{
options.AddPolicy("AnyOrigin", builder =>
{
builder.AllowAnyOrigin() //允许任何来源的主机访问
.AllowAnyMethod()//允许任何请求方法
.AllowAnyHeader()//允许任何请求头
.AllowCredentials();//指定处理cookie
});
});
2怎样应用AnyOrigin策略
只需要在控制器头上(或某个行为上)添加标识: [EnableCors("AnyOrigin")]
如:
[Route("api/[controller]/[action]")]
[ApiController]
[EnableCors("AnyOrigin")]
public class ValuesController : ControllerBase
{
// GET api/values
[HttpGet]
public ActionResult<IEnumerable<string>> Get()
{
return new string[] { "value1", "value2" };
}
}
3
AnyOrigin略几乎直接完全无视了“同源策略”的限制,任何客户端都允许跨域访问,实际项目中建议尽量不要这么写。
可以采用如下方式,对访问源,HTTP请求方法及请求头根据实际情况进行限制:
services.AddCors(options =>
{
options.AddPolicy("AllowSpecificOrigin", builder =>
{
builder.WithOrigins("http://localhost:40197", "http://localhost:40196")
.WithHeaders("GET", "POST")
.WithHeaders("Authorization");
});
});
Asp.net Core CORS 跨域的更多相关文章
- ASP.NET Core 启用跨域请求
本文翻译整理自:https://docs.microsoft.com/en-us/aspnet/core/security/cors?view=aspnetcore-3.1 一 .Cross-Orig ...
- asp.net core api 跨域配置
项目前后端分离,前端请求接口例如使用axios发送请求时浏览器会提示跨域错误,需要后端配置允许接口跨域 配置步骤: 1.通过NuGet安装Microsoft.AspNetCore.Cors.dll类库 ...
- ASP.NET Core 配置跨域(CORS)
1.安装程序CORS程序包 Install-Package Microsoft.AspNetCore.Mvc.Cors 一般默认都带了此程序包的 2.配置CORS服务 在 Startup类,Confi ...
- asp net core mvc 跨域ajax解决方案
1.配置服务端 在Startup文件中国配置Cors策略: IEnumerable<Client> clients= Configuration.GetSection("Clie ...
- 如何在ASP.NET Core中实现CORS跨域
注:下载本文的完整代码示例请访问 > How to enable CORS(Cross-origin resource sharing) in ASP.NET Core 如何在ASP.NET C ...
- Asp.Net WebApi+Microsoft.AspNet.WebApi.Core 启用CORS跨域访问
WebApi中启用CORS跨域访问 1.安装 Nugget包Microsoft.AspNet.WebApi.Cors This package contains the components to e ...
- Asp.Net WebApi 启用CORS跨域访问指定多个域名
1.后台action指定 EnableCors指定可访问的域名多个,使用逗号隔开 //支持客户端凭据提交,指定多个域名,使用逗号隔开 [EnableCors("http://localhos ...
- 在ASP.NET Web API中实现CORS(跨域资源共享)
默认情况下,是不允许网页从不同的域访问服务器资源的,访问遵循"同源"策略的原则. 会遇到如下的报错: XMLHttpRequest cannot load http://local ...
- Asp.Net SignalR 使用记录 技术回炉重造-总纲 动态类型dynamic转换为特定类型T的方案 通过对象方法获取委托_C#反射获取委托_ .net core入门-跨域访问配置
Asp.Net SignalR 使用记录 工作上遇到一个推送消息的功能的实现.本着面向百度编程的思想.网上百度了一大堆.主要的实现方式是原生的WebSocket,和SignalR,再次写一个关于A ...
随机推荐
- 详解如何在CentOS7中使用Nginx和PHP7-FPM安装Nextcloud
转载地址:https://www.jb51.net/article/109382.htm 这篇文章主要介绍了详解如何在CentOS7中使用Nginx和PHP7-FPM安装Nextcloud,会通过 N ...
- nodejs之MongoDB安装[windows平台]
下载MongoDB,本为下载msi文件安装,下载地址 下载完成之后直接双击文件安装,安装时注意安装路径 创建一个空文件夹,用于存放数据库文件 通过控制台进入安装目录下的bin目录,或者在bin ...
- vue 进入页面与离开页面触发事件
1.切换进入当前路由之前的钩子函数 beforeRouteEnter <script> export default { beforeRouteEnter(to, form, next) ...
- LAMP架构介绍
介绍一下LAMP架构 LMAP即Linux+Apache+Mysql/MariaDB+Perl/PHP/Python的首字母缩写.这是一组常用来搭建动态网站或者服务器的开源软件.它们本身都是各自独立的 ...
- 【2019.11.06】SDN上机第2次作业
参考资料网址:https://www.cnblogs.com/TITIN24/p/11794970.html 利用mininet创建如下拓扑 要求拓扑支持OpenFlow 1.3协议,主机名.交换机名 ...
- linux core 性能
apt-get install lrzsz apt-get install vim apt-get install -y net-tools apt-get install -y procps htt ...
- LDAP -- ldap 的cn, ou, dc的含义
1. LDAP的存储规则 区分名(DN,Distinguished Name) 和自然界中的树不同,文件系统/LDAP/电话号码簿目录的每一片枝叶都至少有一个独一无二的属性,这一属性可以帮助我们来区别 ...
- 前端js 爬取 获取网页
1.存在问题 same origin policy(同源策略) 页面中的Javascript只能读取,访问同域的网页.这里需要注意的是,Javascript自身的域定义和它所在的网站没有任何关系,只和 ...
- 【spring源码分析】@Value注解原理
class org.springframework.context.support.PropertySourcesPlaceholderConfigurer 该类实现了的接口:1.org.spring ...
- shell case例子
-- --