我想在使用MongoDB作爲我的主數據庫。不過,我的應用程序完全使用JavaScript,並且我想使用REST API,即客戶端。REST API MongoDB身份驗證
我仍然不明白可以使用哪些安全機制,以便 可以在不向所有 用戶透露所有數據的情況下對數據庫進行JS調用。
請在這個問題上的意見。
問候, 唐納德
我想在使用MongoDB作爲我的主數據庫。不過,我的應用程序完全使用JavaScript,並且我想使用REST API,即客戶端。REST API MongoDB身份驗證
我仍然不明白可以使用哪些安全機制,以便 可以在不向所有 用戶透露所有數據的情況下對數據庫進行JS調用。
請在這個問題上的意見。
問候, 唐納德
首先,就可以進行數據庫身份驗證,這將使REST接口需要驗證,如果從遠程計算機連接。
這就是說,暴露你的數據庫是一個非常糟糕的主意,就像你建議的那樣。在您熟悉的服務器技術(例如node.js)中構建持久性抽象層,並將所有安全約束和身份驗證放在那裏。優點很多:
爲什麼它不安全?它與已經帶有REST接口的CouchDB有什麼不同? – BluePython
REST接口並非不安全(雖然是潛在的性能問題),但將數據庫接口(RESTful或其他)直接暴露給客戶端幾乎總是會帶來風險。 –
檢出Sleepy.Mongoose,它是MongoDB的REST API接口。我沒有嘗試過,但它似乎支持標準的MongoDB身份驗證。
爲什麼人們經歷所有這些麻煩而不是使用CouchDB,或者爲什麼MongoDB沒有標準的REST API接口?不這樣做的好處是什麼? – BluePython
MongoLab有一個可以訪問客戶端的REST API託管的MongoDB數據庫,他們甚至可以通過其支持文檔中的一些基於jQuery的示例。也就是說,Remon是正確的,因爲你在公開你的API密鑰時犧牲了任何安全性。
RESTHeart是一個用於MongoDB的Web API。
它提供應用程序級授權和認證。
檢查security文檔部分。
還有些例如應用程序可在GitHub上:
@Brain,怎麼是以任何方式與這個問題有關? AJAX只是一種與其他服務異步對話的方式,與MongoDB REST接口或問題無關。 –