0

我創建了一個WEBAPI解決方案,我創建了HTML頁面來訪問該Web服務的所有功能。我正在使用http基本身份驗證。.NET WebAPI和http基本認證

我得到了這些選項

  1. 保存在JavaScript瓦爾的usernamepassword我每次調用任何WEBAPI功能的時間給他們。
  2. 第一次發送usernamepassword,在服務器上創建一個令牌並將其發送回客戶端,然後將其另存爲一個cookie並在每次調用任何WEBAPI函數時使用它。
  3. 不使用HTTP基本認證。

處理這個問題的最佳方法是什麼? 謝謝

+0

你有什麼試過?我們在這裏幫助您解決問題,而不是編寫完整的代碼。 – bish

+0

謝謝,我不想要代碼,我想要建築設計答案。其實我知道如何做3個選項,只是想知道在這個社區忍者的經驗,什麼是最好的方法?再次感謝 – ebrecha

回答

0

沒有什麼錯,只要它是通過安全通道進行使用基本身份驗證。如果您在每次通話中發送用戶名和密碼,則您的api將需要在每次通話時訪問數據庫,以便對用戶進行身份驗證。如果您在用戶通過身份驗證時發送令牌,則可以在隨後的調用中刪除訪問數據庫的需求。

使用令牌還允許您利用身份提供程序(如Thinktecture's IdentityServer)提供單點登錄。如果你有多個系統,它將允許用戶登錄一次,然後訪問任何應用程序,這可以大大簡化安全性。

+0

wep API是否有能力保持該令牌並在每次收到某個請求時驗證它? – ebrecha