2013-10-13 188 views
0

我正在設計一個架構,其中Web界面是一個客戶端(使用前端js框架開發),並且所有請求都被路由到多個Web服務。node.js rest客戶端 - 服務器交互的webservice身份驗證

所有通信都將使用標準HTTP響應和JSON實體進行。

現在我正面臨認證機制。 我的服務當然會有幾個用戶,我需要限制對用戶資源的訪問。

用戶將1)登錄到Web客戶端(/admin),然後2)客戶端js將代表用戶對web服務執行多個AJAX請求。

我應該在客戶端/服務器之間創建持久會話,然後在每個請求旁邊傳遞一些引用或使用無狀態方法驗證每個請求?我怎麼能認證當前用戶的Web客戶端請求,而不會爲我的系統增加太多開銷或複雜性?

我正在查看護照本地和護照localapikey,但它不是很清楚,如果我應該授權我的客戶或用戶本身(意思是我應該只有一對憑據爲所有用戶執行基於Web的操作時,服務請求或每個用戶一對?)

一個簡單的例子(解釋我不需要複製粘貼代碼)將不勝感激。在這個階段,我更喜歡這種解決方案,它不會帶來複雜性,但是爲了能夠快速設置,提供了很好的安全性。

PS。我還可以考慮創建一個獨特的服務處理認證,以創建一個通用的API在客戶端和服務器之間共享,但這對我來說似乎有點過分。

感謝,

回答

0

如果您已經使用快遞作爲Node.js的框架,你可以使用它內置的會話處理。它能夠使用任何類型的會話存儲包括存儲,Redis的,蒙戈的等

這裏有一個很好的例子:http://blog.modulus.io/nodejs-and-express-sessions

+0

呀,我現在用的快遞都爲客戶網站(一個響應開/管理員)和web服務器。那麼,您的目的是否建議在用戶登錄時初始化的所有服務之間共享會話?我對嗎? 使用無狀態交互取代您的體驗會有更好/更差的表現嗎?順便說一句,我喜歡這個解決方案,因爲它似乎更快部署。 – user1978591

相關問題