2011-06-05 145 views
4

我想編寫一個移動應用程序來訪問當前保存在我們局域網中並由網絡上的應用程序訪問的數據庫。我知道我可以在防火牆中打開一個端口來將流量從移動設備重定向到數據庫,但我擔心安全問題。保護對從移動設備訪問數據庫的訪問

我可以考慮哪些方式提供對數據庫的安全移動訪問,同時仍允許從本地網絡應用程序進行訪問?

+0

SOAP服務或編寫基於Web的系統並使用JSON獲取數據如何?至少可以使用一些邏輯來檢查憑證。 – 2011-06-05 19:55:32

回答

1

在這種情況下我會做的是爲您的移動用戶提供一個像WCF(REST/JSON /等)到數據庫的接口。最終,你甚至可以轉換爲使用LAN和網絡。其結果將是更好的安全。

以下是這如何做一些例子:

Java的REST Web服務指南 - http://www.oracle.com/technetwork/articles/javase/index-137171.html

WCF指南 - http://msdn.microsoft.com/en-us/netframework/dd939784

SOAP的概述 - http://www.w3schools.com/soap/default.asp

+0

謝謝@biggsTRC和@Jared。還有幾個問題。你能否指點我的任何Web資源,這些資源可以讓我對這種接口有所瞭解,或者你知道與Firebird兼容的現有接口?謝謝 – williamsdb 2011-06-06 07:40:57

+0

@williamsdb - 這一切都取決於你當前使用的語言(Java,C#等)然而,我已經包含了關於如何在我的文章中創建不同類型的基本信息。至於FirebirdSQL,如果你已經用你的局域網應用程序的編程語言訪問它,你可以用同樣的方法來完成。上述這些服務只是在服務器上運行的應用程序,格式有點不同。您的DAL(數據訪問層)對於您的服務的工作方式應與您的LAN應用程序相同。 – IAmTimCorey 2011-06-06 12:48:18

0

由於火鳥提供連接選項的數量(JDBC,.Net,Python)對於如何部署Web服務接口有很多選擇/靈活性。如果你打算用Java(http://axis.apache.org/axis/)或WCF部署,如果.Net(http://msdn.microsoft.com/zh-cn/library/dd203052),我會研究AXIS .aspx)無論您是使用RESTful還是SOAP/XML-RPC接口,很大程度上取決於您想要公開哪些功能以及向誰公開。一個公共API,如果它是一個封閉/私有接口,你可能會沿着SOAP路線走下去,那麼你想爲廣大受衆提供的公共API可能最適合作爲RESTful接口(想想,Twitter,Flickr等)。但是,根據我的經驗,移動應用程序開發框架在使用RESTful Web服務方面優於SOAP。對於本機iPhone應用程序,我相信你必須推出你自己的SOAP接口。某些應用程序加速器工具同時具有SOAP和REST客戶端支持。