需要有一个通用的Web api应用程序来为3个不同的MVC Web应用程序提供服务。这些客户端Web应用程序具有自己的数据库和自己的身份验我们如何配置web api应用程序,以便仅为Web应用程序1提供对一组API的访问权限,并拒绝所有其他Web应用程序,类似于Web应用程序2等等?换句话说,有没有办法注册'每个Web应用程序都带有web api服务,并且还构建了一种机制,通过该机制,Web应用程序只允许访问一组端点?感谢所有的帮助......
答案 0 :(得分:1)
有几种解决方法
主持multiple WebAPI servers in a single process以有效满足您的要求,同时让您的项目更容易整理
使用Authentication and Authorization filters自定义接受,拒绝和路由请求的方式
在硬件级别使用路由器和/或交换机,创建与反向代理相结合的黑名单/白名单(谨防MAC欺骗等,使用此解决方案)
使用依赖注入为流程添加抽象,并删除以编程方式以非预期方式指定自定义端点的功能;此解决方案仅在您控制客户端代码时才有效,但
从它的声音来看,您所描述的问题似乎与关于端点的可见性不一样,而是关于利用它们的访问控制。如果我错了,请在评论中告诉我,我会更新我的答案。