.net6 Api添加跨域
参照:(7条消息) .net6使用最小api(8)— 开启跨域模式,通过扩展服务实现_hailang2ll的博客-CSDN博客
步骤:
一、在appsetting.json里添加配置文件
//配置文件如上:
"Cors": {
"EnableAllIPs": false, //是否应用所有的IP
"PolicyName": "CorsIpAccess", //策略名称
"IPs": "http://127.0.0.1:2364,http://localhost:2364"//需要访问的域名
},
二、创建对应的配置类
public class CorsOptions
{
public bool EnableAllIPs { get; set; }//是否应用所有的IP
public string PolicyName { get; set; }//策略名称
public string IPs { get; set; }
}
三、在program.cs里做相应配置
var builder = WebApplication.CreateBuilder(args);
//先将对应的配置绑定到对象里
CorsOptions corsOptions = new CorsOptions();
builder.Configuration.Bind("CorsOptions", corsOptions);
//配置跨域
builder.Services.AddCors(c =>
{
if (!corsOptions.EnableAllIPs)
{
c.AddPolicy(corsOptions.PolicyName,
policy =>
{
policy
.WithOrigins(corsOptions.IPs.Split(','))
.AllowAnyHeader()//Ensures that the policy allows any header.
.AllowAnyMethod();
});
}
else
{
//允许任意跨域请求
c.AddPolicy(corsOptions.PolicyName,
policy =>
{
policy
.SetIsOriginAllowed((host) => true)
.AllowAnyMethod()
.AllowAnyHeader()
.AllowCredentials();
});
}
});
四、将配置的跨域策略添加到请求处理管道
var app = builder.Build();
// CORS跨域,这里的PolicyName对应就是配置文件里的策略名称
app.UseCors(corsOptions.PolicyName);
.net6 Api添加跨域的更多相关文章
- Web API 解决跨域问题
一.跨域问题的由来 同源策略:出于安全考虑,浏览器会限制脚本中发起的跨站请求,浏览器要求JavaScript或Cookie只能访问同域下的内容. 正是由于这个原因,我们不同项目之间的调用就会被浏览器阻 ...
- 在Angular.js中的H5页面调用Web api时跨域问题处理
/// <summary> /// 被请求时 /// 在Angular.js中的H5页面调用Web api时跨域问题处理 /// </summary> /// <para ...
- web api 解决跨域的问题
web api 总是会遇到跨域的问题,今天我找到了如下方法解决跨域: 1: a:在配置文件中的 加上如下代码 <system.webServer> <httpProtocol> ...
- 使Web Api 支持跨域资源共享(CORS)
Reference:http://www.asp.net/web-api/overview/security/enabling-cross-origin-requests-in-web-api Imp ...
- ASP.NET Web API决跨域问题
记录最近一次的项目开发中遇到的问题和解决方式.在给移动端开放数据接口的时候,移动端开放人员反映部署到测试环境的接口调用访问出现了问题,但是在单独进行访问是可以正常的.那么,问题就来了. 根据查询园子里 ...
- ajax调用.net API项目跨域问题解决
ajax调用.net API项目,经常提示跨域问题.添加如下节点代码解决:httpProtocol <system.webServer> <handlers> <remo ...
- 「Django」rest_framework学习系列-API访问跨域问题
#以中间件方式解决API数据访问跨域问题1.API下新建文件夹下写PY文件a.引入内置类继承: from django.middleware.common import MiddlewareMixin ...
- Laravel API 允许跨域访问
服务器A请求服务器B的接口,那么一般会出现跨域问题.全解跨域请求处理办法 XMLHttpRequest cannot load http://api.console.vms3.com/api/user ...
- 跨域解决方案之JSONP,通过借助调用百度搜索的API了解跨域案例
跨域解决方案之JSONP 同源策略 同源策略(Same origin policy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响.可以说Web ...
- ASP.net Web API允许跨域访问解决办法
来源 http://blog.csdn.net/wxg_kingwolfmsncn/article/details/48545099 遇到此跨域访问问题,解决办法如下: 方法一: 1. 在we ...
随机推荐
- 绕过 console-ban
绕过 console-ban console-ban 项目介绍 console-ban 是一个高效且轻量级的 JavaScript 库,其核心功能是有效阻止用户通过浏览器的开发者工具(例如按 F12 ...
- NSSM:简化Windows服务配置,提升系统维护效率
NSSM:简化Windows服务配置,提升系统维护效率 在Windows系统环境中,服务的配置与管理是一项复杂而重要的任务.传统的服务管理方式往往涉及繁琐的步骤,不仅效率低下,还容易出错.然而,随着N ...
- [图形绘制/流程图] Mermaid : 开源的低代码图形绘制语言、协议及工具
概述:Mermaid Mermaid是一种基于Javascript的.开源的文本驱动图表生成工具/绘图工具,,使用类似于Markdown的低代码语法,它允许用户使用简单的文本语言来创建各种类型的图表 ...
- 鸿蒙开发 - 数据持久化 Preferences (内存存储) (封装)
这篇文章介绍鸿蒙中的 Preferences,它是一种轻量级存储方式,数据存储在内存中,用于存储少量的数据. 可以执行 flush() 方法将内存中的数据写入到磁盘文件,保证下次重启后数据可以继续使用 ...
- [SCOI2016] 幸运数字 题解
\(xor\) 最大值想到线性基,路径想到 \(lca\) 和树链剖分,由于没有修改用 \(lca\) 就可以.先用处理 \(fa\) 数组的方式处理倍增线性基(自然是得用线性基合并的),在求 \(l ...
- [NOIP2018] 旅行 题解
明显要以 \(1\) 为起点. 原图是树 这种情况下,走路不能回头,只能用 \(dfs\) 的思路走.当然肯定每次都走较小的那棵子树,\(vector\) 存图后排序即可达到这种效果. 时间复杂度 \ ...
- Linux编写一个自己的命令
Linux编写一个自己的命令 编译一个.c文件,生成可执行文件out.out只有在当前目录下可以执行. 而命令可在任何路径执行 想让out可以在任意路径执行,有以下两种办法 1.将执行文件添加到 /b ...
- 探秘Transformer系列之(6)--- token
探秘Transformer系列之(6)--- token 0x00 概述 语言是人类特有的概念.作为一个抽象符号,人是可以理解每个语言单词的意义的,但是现在的NLP语言模型无法直接的从感知中抽象出每个 ...
- 远程debug
1. 在idea中添加远程服务器信息 打开应用配置 填写配置 1. 在 + 选择 Remote JVM Debug 2. 在 2 处填写名称,任意 3. 在 3 填写服务器ip 4. 在 4 填写de ...
- 机器学习 | 强化学习(4) | 无模型控制(Model-Free Control)
无模型控制(Model-Free Control) 无模型预测概论 上一节课: 无模型预测 用于估计一个未知马尔科夫决策过程的价值函数 这节课 无模型控制 最优化一个未知马尔科夫决策过程的价值函数 一 ...