. net MVC和WEB API之间的安全性

本文关键字:之间 安全性 API WEB MVC net | 更新日期: 2023-09-27 18:07:44

我们正在启动一个项目,该项目将包括:

  • Web项目(ASP。净MVC )
  • IOS应用

和两者都将使用来自的数据。. NET WEB API服务.

WEB API服务将公开一个url为"user/create"的POST方法。但我不知道我怎么能避免另一个应用程序制作post到这个url?我知道我需要一个安全协议,但我想知道你推荐我哪一个,如果你有,一篇文章在哪里解释。

谢谢

. net MVC和WEB API之间的安全性

web API 2提供oauth认证。你需要从web api的令牌端点获得一个令牌,并在随后的请求中传递该令牌。

如果你搜索web api 2 oauth,你会发现很多在线资源

我们最近使用OWIN OAuth 2.0授权服务器做了类似的事情

引用这个ASP。NET页面了解详细信息。示例代码也包括了几个不同的实现。

出于我们的目的,我们使用了页面中间的Client Credentials Grant部分。我们的实现涉及到服务器-服务器OAuth (Web API到MVC),但我敢打赌它与iOS连接非常相似。我要提醒的唯一一件事是在iOS端加密登录凭证,我相信有办法做到这一点。

所以你想WebAPI只被MVC页面使用?最好的架构方法是将两者分开,而不是将两者都留在一个项目中。为什么?因为MVC应用程序是人类的体验层。WebAPI是MVC应用程序的体验层。把它移回不能访问的地方。

你可以添加令牌等,但MVC应用程序位于服务器上,但在客户端计算机上访问。应用程序的范围越广(例如,内部网或internet或介于两者之间?),问题就越困难,用户访问应用程序就越困难。把WebAPI移到内部,让MVC应用暴露,保证外部用户不能使用这个API。

WebAPI和MVC一起存在于一个项目中的主要原因(在大多数情况下,我认为仍然是一个错误)是你将两者暴露给相同的受众。如果这不是你的意图,那就不要这样做。