2011-06-05 104 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客户端支持。