2016-11-16 27 views
0

查看UI5應用的多租戶SaaS數據庫的數據訪問我有兩種選擇--JSON或OData。 OData有一些感興趣的功能。但是,我得出結論,由於安全問題,我無法使用OData。提示以及避免在多租戶DB SaaS環境中使用OData的問題

特別是我擔心OData是一種查詢語言。作爲一個非常粗略的比較,這就像是在客戶端編寫的SQL語句併發送到ODBC服務器進行處理。在多租戶數據庫中,我將使用org_id和org_id來分隔所有者之間的數據。如果它是一個SQL查詢,我將不得不包括select data from table where org_id=this_tennant and ...。如果我可以發現另一個租戶org_id,那麼我可以使用OData資源管理器來修改查詢並將其傳遞到OData源。

在一個JSON數據接口中,我會調用一個REST方法來屏蔽數據如何被訪問,並且我不需要公開諸如org_id標記的祕密細節。授予JSON/REST方法涉及更多的工作。

還是我誤解OData?

另一個similar question被問了一段時間,但一段時間過去了,所以我會再問一次。

+1

您認爲什麼是安全問題? – matbtt

+0

謝謝。我在這個問題上增加了一個段落。 –

回答

1

OData的方法是定義如何構建RESTful API。它向普通REST添加了很多concepts and conventions(例如實體類型和集合,URL約定,常見查詢參數,請求格式,批處理支持...),因此爲您提供了構建API的標準。

但是,它沒有定義你的數據來自哪裏,但在大多數情況下它將是數據庫。當然可以通過OData服務以通用方式公開您的數據庫表,但我期望框架的提供者清楚地描述如何處理和保護不同的租戶。

更具體的答案需要更多關於您將使用的框架的信息。

+0

謝謝馬布特。目前,我在填充數據所在的SQL Server數據庫和客戶端之間存在差距。傳統上,我會編寫C#服務,將SQL存儲過程調用到服務器和更新數據,並將處理客戶端視圖之外的服務背後的org_id。我認爲OData的元數據創建投資非常重要,因此我正在尋找追求OData的明確理由,或者不是。我將閱讀關於SQL Server的OData。 –

+0

不客氣。如果你使用C#,你應該能夠或多或少地輕鬆地創建OData服務! ;) – matbtt