c# - 将 Asp.net 核心控制器限制为特定域名
问题描述
我在 asp.net 核心版本 2 中有一个 Web API 控制器。
此控制器必须接收来自一个域的请求,例如 test.com
test.com 的 IP 总是更改,因此我不能将此控制器限制为 IP。
我可以用什么方法?
只有一个控制器和另一个允许任何来源。
控制器是这样的:
[HttpPost]
public IActionResult CBack([RequiredFromQuery]string id,
[FromBody] Newtonsoft.Json.Linq.JObject Cypher)
解决方案
您可以使用作用域跨域请求 (CORS):
[EnableCors("YourPolicy")]
[HttpPost]
public IActionResult CBack([RequiredFromQuery]string id,
[FromBody] Newtonsoft.Json.Linq.JObject Cypher)
这允许您为每个控制器或操作启用跨域请求。
不要忘记在Startup.cs文件中添加CORS 服务。您还必须先注册自定义策略。
// ConfigureServices
services.AddCors(options =>
{
options.AddPolicy("YourPolicy",
builder => builder.WithOrigins("http://example.com"));
});
推荐阅读
- android - 使用导航组件将参数传递给嵌套图的问题
- android - 一段时间后,sockets.io 没有收到任何进一步的发射?
- android - 如果应用程序在前台并收到推送通知,则不打开生物识别提示
- python - 如何在 Python 中查询 AWS CostExplorer API 以获取特定标签的成本?
- github - 更改 Github 存储库名称 - 可能的问题?
- .net - Azure 函数:Microsoft.Azure.WebJobs.Extensions.FunctionMetadataLoader:必须声明至少一个绑定
- microsoft-graph-api - 我如何从 Outlook 中的组联系人中获取成员列表
- javascript - “Uncaught SyntaxError: Unexpected token l in JSON at position 0”,但仍然有效,为什么?
- rest - 使用像 Nuxt 这样的服务器端渲染来保护 API
- typescript - React Native useState 和 useEffect 交互