下面的評論an answer about state and REST最近引起了我的興趣。爲了清楚起見,我會引用註釋全:如何進行身份驗證而無需點擊數據庫?
我的回答沒有任何暗示基於每個請求的數據庫訪問的解決方案,如果你認爲這樣做,是你一個不理解的認證和授權在那個規模。身份驗證可以隱含在狀態中,您認爲Facebook對其REST API的每個請求都執行「數據庫訪問」嗎?或谷歌爲此事?提示:任何
我試着想一個可能方式,而不檢查對中央,舉辦一個用戶提供的價值進行身份驗證,即使一個知道什麼數據顯示給用戶,並想出了空白。我坦率地承認,這是我在理解認證和授權方面的失敗。因此,我的問題是:如何做像Facebook和谷歌這樣的網站完成這個?
所以這不是數據庫沒有被檢查,它只是認證是從一個不同的數據庫處理?正如我理解你的答案,用戶提供的值仍然是針對數據庫中集中保存的值進行檢查的,但是這是在不同的服務器上進行的,主要是爲了負載平衡。是對的嗎? – 2014-12-07 14:22:50
@GarryCairns不同之處在於數據庫在登錄時被諮詢_once_以生成索賠文檔,之後不再需要數據庫訪問來知道所需的用戶數據,而是索賠文檔(或從其創建的會話)是用來查看它。如果您只使用單個服務器,則可以通過在登錄時從數據庫中讀取一次用戶數據並將結果放入一個會話中,獲得幾乎相同的效果,以便您不需要數據庫訪問權限即可獲取 - 例如 - 用戶名。 – 2014-12-07 14:26:51
沒關係,這是有道理的。謝謝。 – 2014-12-07 14:28:31