c# - 如何将不同来源添加到 asp.net 选项标头
问题描述
我正在使用 cors 如何为 asp.net 中的选项启用因来源而异?所以选项将有变化:原点标题。这是我正在使用的代码
services.AddCors(options =>
{
options.AddPolicy(Origins,
builder =>
{
builder.SetIsOriginAllowed(origin => ListOfOrigin(origin))
.AllowAnyHeader()
.AllowAnyMethod()
.AllowCredentials()
.SetPreflightMaxAge(TimeSpan.FromMinutes(1));
});
});
解决方案
根据资源实施:
希望使自己能够与多个 Origin 共享但不以“*”统一响应的资源实际上必须动态生成 Access-Control-Allow-Origin 标头以响应他们希望允许的每个请求。因此,此类资源的作者应发送 Vary: Origin HTTP 标头或提供其他适当的控制指令以防止缓存此类响应,如果跨域重复使用可能会不准确。
如果请求可能包含Access-Control-Allow-Origin
具有不同值的 a,则 CDN 应始终以 响应Vary: Origin
,即使对于没有Access-Control-Allow-Origin
标头的响应也是如此。
如果请求者未在其请求中提供 Origin 标头,或者未提供不是允许值之一的 Origin 值,则响应中不包含Vary: Origin
。
推荐阅读
- json - 从 serde_json 中的无类型 JSON 中提取数据时如何处理错误?
- flutter - 如何使用带有 getX boolean observable 的条件渲染
- layout - Odoo.sh 终端无法识别正确的键盘布局
- flutter - 将加载微调器添加到启动画面
- bash - 根据列表和文件目录重命名文件列表
- flutter - 如何使用自定义小部件绘制一条线并在用户点击线颤动时更改角度
- python - 与将 timedelta 添加到 UTC 日期相比,Python astimezone 比预期结果晚 1 小时
- reactjs - 将状态从其他组件更新到主组件
- jupyter-notebook - 有没有办法在 jupyter markdown 中输入 $\newcommand$ 以正确导出到 LaTeX?
- c# - 我是否需要为每个 redis 实例建立一个新连接?