首页> C#>如何保护WebAPI的单页

我正在另一台机器上构建一个具有MVC4单页前端和WebAPI的应用程序,该应用程序将json查询数据直接返回到浏览器.身份验证发生在MVC端,在该端建立了一个用户对象,该对象为当前用户定义了一组“ canDoX”权限.

问题在于,当用户从页面.js接收到请求时,如何在不重新验证和授权用户的情况下基于这些权限来确保对WebAPI操作的访问权限.

就目前而言,用户将必须了解api,但如果这样做,他们可以破解url并通过’/ api / myController / myRestrictedAction / 123’查询所需的任何数据.

有任何想法吗?我应该放弃单页提示,仅从MVC控制器调用webAPI吗?

解决方法:

HTTP是无状态的.您必须对每个请求执行授权和身份验证,对于该页面上的各种资源,每次访问该页面通常会发生多次.

按照您的示例,“ / api / myController / myRestrictedAction / 123”是您要向某人公开的资源.访问该资源的用户是否应该能够访问它取决于您自己.

与其将用户访问随机端点视为“黑客入侵url”,不如说它实际上是应用程序中的错误,它使用户可以请求和访问他不应该访问的内容.

上一篇:ABAP的权限检查跟踪(Authorization trace)工具


下一篇:JavaScript-Soundcloud API /解决方法404错误