ASP.NET WEB API 2条安全建议

ASP.NET WEB API 2 Security advice

我目前有一个 ASP.NET MVC 和 ASP.NET WEB API 2 项目(两种类型的控制器都包含在同一个项目中)。

我想确保用户不能直接调用 Web Api 并获取原始数据(例如 http://domain/api/myaction)。但是,Api 方法应该能够被 jquery 通过 AJAX 调用,MVC 控制器操作也应该能够调用 Web Api 操作(在某些情况下初始视图应使用来自 API).

的一些数据进行渲染

做这样的事情最好的方法是什么,还是我看错了?

Ajax调用和"direct"调用没有区别。 在操作控制器的任何情况下,您应该做的是通过令牌或您建立的任何身份验证方法验证请求。

如果您使用的是 Microsoft 身份验证,则只需在 controller/action 上方添加 [Authorize] 标签即可。

https://msdn.microsoft.com/en-us/library/system.web.mvc.authorizeattribute(v=vs.118).aspx