2017-09-06 57 views
1

我在xamarin.form(學習xamarin和mvvm模式)中創建一個小項目,其中我的移動應用程序將連接到SQL Server數據庫。在每個論壇上,人們建議使用Web Api從數據庫獲取json,然後在xamarin應用程序中進入下一步,在json的鏈接下解析它並完成它。我做了一個測試項目,它的工作非常好。不幸的是,在幾天之後,我意識到所有數據都是可見的。如果我在url/api /主題下輸入,我會在json中獲取這些數據。web api和xamarin.forms的數據可見性

我的問題是。我應該從我的xamarin應用程序直接連接到SQL數據庫還是有什麼辦法不在瀏覽器中顯示json的?

+1

好主意是使用的WebAPI,也稱爲Web的服務。你的迴應顯示在瀏覽器中(不管它是JSON還是XML)。您可以通過添加身份驗證或接受任何令牌(每個會話對每個用戶都是唯一的令牌)來爲API添加安全性。 –

+0

添加身份驗證或令牌比直接連接到sql數據庫更安全嗎? –

+2

Chanchal是對的。你也不能直接將你的應用程序連接到數據庫。這是因爲你必須將你的數據庫證書放在應用程序中,並允許訪問所有世界的IP到你的數據庫。這是一個巨大的安全風險。您的數據庫將在用戶發現這一天後被黑客入侵 –

回答

0

要正常運行,許多移動應用程序都依賴於雲,因此將Web服務集成到移動應用程序中是常見的情況。 Xamarin平臺支持消費不同的Web服務技術,並且包含內置和第三方支持,用於消費RESTful,ASMXWindows Communication Foundation (WCF)服務。

這個article討論這個話題。

對於使用Xamarin.Forms的客戶,在Xamarin.Forms Web Services文檔中有完整的示例使用這些技術中的每一種。

我建議您瞭解更多有關REST architecture

+0

是的。我正在使用它,我喜歡這種方式。事情是,每個人都可以看到信息。我需要考慮對這些信息進行哈希處理並將它們發送給特定的令牌。因爲我的項目不需要授權(它會發送到特定設備)。 –

+0

哦對!然後,您必須在您的WEB API中安裝[Microsoft.Owin.Security.OAuth](https://www.nuget.org/packages/Microsoft.Owin.Security.OAuth)包,然後創建授權服務器提供程序我認爲本教程可以幫助你:http://bitoftech.net/2014/06/01/token-based-authentication-asp-net-web-api-2-owin-asp-net-identity/ –