【发布时间】:2016-02-02 12:02:55
【问题描述】:
在我的组织中,我有几个 asp.net web api 项目。
我愿意开发一个 web api,它就像一个网关并且有一个入口点。
我尝试了处理程序和过滤器,但路由不允许我这样做。
让我解释一下,我真正想做的事情
让 HumanResourceProject 在:api.domain.com/api/hr
示例控制器是 api/hr/LeaveRecord/GetByEmployee/
让 CRMProject 在:api.domain.com/api/crm
示例控制器是 api/crm/Customers/GetByRegion/
让网关位于:api.domain.com/api/gateway
我希望我的网关能够处理诸如
之类的请求
1. api.domain.com/api/gateway/api/crm/Customers/GetByRegion/
或
api.domain.com/api/gateway/api/hr/LeaveRecord/GetByEmployee/
制作一些控件,例如 ip/access/browser 等。
我想调用正确的 api 控制器 api/crm/Customers/GetByRegion/
- 被调用 api 的控制器返回响应。
【问题讨论】:
-
您似乎想要使用 API 网关,但话又说回来,您似乎想要使用它的只是将请求路由到相关方。如果是这种情况,请查看 IIS URL 重写。如果它托管在云中,请查看 Azure 服务总线中继。
-
另外我想在网关中实现一些安全控制。
-
@zapoo 你找到解决办法了吗?
-
从那时起,我就有了信任相同身份提供者的 API。 (即身份服务器4)授权和身份验证控制现在更容易了。特别是对于这个
gateway pattern,我会在本地使用 nginx,在云上你有很多选择。
标签: c# asp.net-web-api