我一直在爲使用Android本機應用程序開發一個RESTful web服務。我選擇ASP .NET WEB API。 WEB API使得在控制器中創建這些HTTP方法以及將我們的響應對象轉換爲json/xml變得非常容易......它簡直太棒了!其他Web服務和多個客戶端的會話處理
現在來到用戶認證和那些會話處理部分。首先,我認爲在我的RESTful服務中實現會話會更容易。但是真正感到沮喪的是在WEB API中啓用會話的配置,並使得android本機處理這些會話ID。
- 首先,機器人發送登錄請求到WEB API
- WEB API檢查認證,並用的sessionid響應在響應頭
- 現在Android本地讀取響應報頭 - >取指ASPNET_sessionId - >保持在其內存
- 從Android的進一步要求將你認爲這是一個正確的方法來設置此ASPNET_sessionId在請求頭
?
現在我有另一個客戶端。 Mobile jquery中的混合應用程序。現在面臨以下問題:
- 訪問來源政策:所以我在響應頭設置
Access-Control-Allow-Origin
到*
。它解決了。 - 現在我需要在jquery ajax post請求中設置會話ID。並且發現在調用跨域服務時無法爲jquery ajax設置頭文件。
如何管理混合應用的會話?
此外,創建必須從不同的客戶端應用程序中使用的Web服務時需要注意什麼?
如果您要爲用戶創建唯一的ID並進行驗證,那麼您將爲每個請求創建一個狀態。僅僅因爲你不使用內置的.net框架來管理狀態並不意味着你是無狀態的。我並不是說你做錯了,而只是語義。你不是無國籍的。你正在做的是模仿.NET框架。這只是.net使用cookie來驗證會話,並在郵件正文中使用唯一的ID。 – dewd