多个外部网站的Web API授权

时间:2017-07-05 12:44:52

标签: c# asp.net authentication asp.net-web-api authorization

需要有一个通用的Web api应用程序来为3个不同的MVC Web应用程序提供服务。这些客户端Web应用程序具有自己的数据库和自己的身份验我们如何配置web api应用程序,以便仅为Web应用程序1提供对一组API的访问权限,并拒绝所有其他Web应用程序,类似于Web应用程序2等等?换句话说,有没有办法注册'每个Web应用程序都带有web api服务,并且还构建了一种机制,通过该机制,Web应用程序只允许访问一组端点?感谢所有的帮助......

1 个答案:

答案 0 :(得分:1)

有几种解决方法

  • 主持multiple WebAPI servers in a single process以有效满足您的要求,同时让您的项目更容易整理

  • 使用Authentication and Authorization filters自定义接受,拒绝和路由请求的方式

  • 在硬件级别使用路由器和/或交换机,创建与反向代理相结合的黑名单/白名单(谨防MAC欺骗等,使用此解决方案)

  • 使用依赖注入为流程添加抽象,并删除以编程方式以非预期方式指定自定义端点的功能;此解决方案仅在您控制客户端代码时才有效,但

从它的声音来看,您所描述的问题似乎与关于端点的可见性不一样,而是关于利用它们的访问控制。如果我错了,请在评论中告诉我,我会更新我的答案。