2015-09-28 46 views
0

我將在.Net中構建一個Web服務。此Web服務將用於Winform應用程序,Web應用程序和移動應用程序。用於多個登錄的Web服務令牌

我想用令牌,以確保該Web服務。

當用戶登錄到Web服務,系統會生成對數據庫成功登錄和存儲唯一的令牌。 應用程序應該爲Web服務中的每個方法傳遞此令牌。我的數據庫驗證此令牌並將響應發送給最終用戶。

現在的問題與此架構,每個成功登錄改變令牌,如果用相同的憑據另一個登錄停止以前成功login.I要允許具有相同的憑據多次登錄。

請建議我爲這個問題很好的解決方案。

感謝

回答

0

的第一件事彈出在我心中是檢查你的數據庫的現有令牌,然後如果有已經生成一個你應該歸還。但我不知道這有多好。 ASP.NET Identity正在使用OAuth2協議,這有點類似。

登錄用的用戶憑據,它不會從什麼樣的設備正在創建一個訪問令牌,其中有過期時間問題。如果您嘗試在此令牌仍然有效的情況下登錄,則始終可以獲取該令牌。

我的建議是使用所提供的身份,只是擴展它。如果您先執行代碼,則可以擴展IdentityUser,添加一些額外屬性並創建您的應用程序所需的所有表。下面是一些有用的鏈接:

OAuth2 official page

Token Based Authentication using ASP.NET Web API 2, Owin, and Identity

我希望我幫助