cors - CORS - 如何启用一系列端口(.Net Core 3.1)
问题描述
如何在一个语句中允许某个站点的一系列端口?
这是我的代码,希望将所有五个放在一个更智能的语句中。
谁能帮忙?
options.AddPolicy("SecurePolicy",
builder =>
{
builder.WithOrigins("http://localhost:8080",
"http://localhost:8081",
"http://localhost:8082",
"http://localhost:8083",
"http://localhost:8084")
.SetIsOriginAllowedToAllowWildcardSubdomains();
builder.AllowAnyHeader();
builder.AllowAnyMethod();
});
解决方案
CorsPolicyBuilder
您可以在将为您生成这些 URL的扩展方法上创建:
public static CorsPolicyBuilder WithOrigins(this CorsPolicyBuilder builder, string base, params int[] ports)
{
return builder.WithOrigins(ports.Select(p => $"{base}:{p}").ToArray());
}
然后你可以像这样使用它:
options.AddPolicy("SecurePolicy", builder => builder
.WithOrigins("http://localhost", 8080, 8081, 8082, 8083, 8084)
.SetIsOriginAllowedToAllowWildcardSubdomains()
.AllowAnyHeader()
.AllowAnyMethod());
或者,您也可以只传入第一个和最后一个端口,并让扩展方法在端口上循环。
推荐阅读
- java - MacOS多线程问题?
- c# - 如何使用 System.Text.Json 解析带有注释的 JSON?
- vue.js - 如何使用 v-on 和布尔语句为下拉列表设置动画
- c++ - 如何使用运算符+重载函数正确返回对象?
- reactjs - 首次安装 React,文件更改时网页不会自动重新加载
- bash - 如何不在我的终端中制作 conda 并从我的终端提示符前面删除 (base)
- octave - Octave中help func和help(func)的区别
- javascript - 尝试使用 JS 在我的页面上运行重定向。我究竟做错了什么?
- android - 底部导航栏android studio的依赖关系
- android - 在最新的 AOSP 中,ADB 的最新版本是什么?