.NET WebAPI和http基本身份验证

时间:2015-07-13 05:15:31

标签: asp.net-web-api restful-authentication http-basic-authentication

我创建了一个WEBAPI解决方案,我正在创建HTML页面以访问该Web服务的所有功能。我正在使用http基本身份验证。

我有这些选择

  1. usernamepassword保存在Javascript变量中,并在每次调用任何WEBAPI函数时发送它们。
  2. 第一次发送usernamepassword,在服务器上创建令牌并将其发送回客户端,然后将其保存为cookie并在每次调用任何一个时使用它WEBAPI功能。
  3. 不要使用HTTP基本身份验证。
  4. 处理此问题的最佳方法是什么? 感谢

2 个答案:

答案 0 :(得分:0)

出于安全原因,您不希望在每次呼叫时都发送用户名/密码。基于语音的身份验证将是可行的方法,您可以使用内置的身份验证。

我找到的最好的教程是http://bitoftech.net/2014/06/01/token-based-authentication-asp-net-web-api-2-owin-asp-net-identity/

答案 1 :(得分:0)

使用基本身份验证没有任何问题,只要它是通过安全通道完成的。如果您在每次通话时都发送用户名和密码,那么您的api将需要在每次通话时访问数据库,以便对用户进行身份验证。如果在用户通过身份验证时发送令牌,则无需在后续调用时访问数据库。

使用令牌还可以利用Thinktecture's IdentityServer等身份提供商提供单点登录。如果你有多个系统,它将允许用户登录一次然后访问任何应用程序,它可以大大简化安全性。

相关问题