如何保护我的AngularJS和Web Api应用程序

时间:2014-04-06 07:03:28

标签: asp.net angularjs security asp.net-web-api

我在ASP.NET Web Api服务器端使用AngularJS。对我来说,身份验证现在变得轻而易举?或者这太好了,不是真的吗?

所以我正在考虑使用Web Api的“个人用户帐户”身份验证。我认为这就是我所需要的一切。只要每个请求都经过身份验证,没有人可以获得任何数据,我就不应该做更多的权利吗?

或者我错过了一些关键的安全基础知识?

2 个答案:

答案 0 :(得分:16)

在保护API时,您有两种主要方法

  1. 基于Cookie的方法。这是传统方式,您使用标准表单对用户进行身份验证,然后设置表单身份验证cookie。所有未经授权的请求都会将用户带到登录页面如果UI前端始终支持您的API,请使用work登录此方法。
  2. 其次是在请求的标头中使用授权令牌。一旦用户通过身份验证,他就会获得一个身份验证令牌,他必须将其附加到Authorize HTTP标头中的每个后续请求。点击此处了解详情Individual Accounts in ASP.NET Web API 。这里的优点是您可以在不需要登录页面的情况下公开您的API。
  3. 但请记住,在使用第二种方法时,身份验证令牌必须存储在客户端,因为所有后续请求都需要此令牌。请查看此博文Cookies vs Tokens. Getting auth right with Angular.JS,了解如何使用令牌。

    希望它有所帮助。

答案 1 :(得分:9)

这是一篇关于将Angularjs与基于Web API 2.0令牌的身份验证一起使用的好文章。

http://bitoftech.net/2014/06/01/token-based-authentication-asp-net-web-api-2-owin-asp-net-identity/