2013-04-25 84 views
0

我正在开发基于公司的移动(iPhone和Android)地图应用程序。该公司已经部署了一个无线网络,允许通过订阅访问互联网。允许网络连接到特定的应用程序

移动应用程序的想法是只为特定的应用程序提供互联网访问给任何具有它的人。换句话说,公司希望允许应用程序连接到这个网络。

我的问题是:是否可以只访问特定的应用程序,以及什么是最合适的方式? “识别”该网络或网络是否负责为该特定应用程序提供访问权限的应用程序? 任何建议,非常感谢。

+0

它是什么类型的无线网络?无线上网? – Mels 2013-04-25 12:42:56

+0

此外,另一个混乱现象阻止我立即提出问题:应用程序安装在设备上时,整个设备是否应该可以定期访问互联网?或者应该只有应用程序_本身能够使用连接? – Mels 2013-04-25 12:58:02

+0

网络是为公司提供(通过支付)的wifi服务。这个想法是,通过该应用程序和只有应用程序,用户可以使用互联网服务查看一些信息,而无需付费计划,只需了解关于公司及其服务的一些基本信息。非常感谢! – doxsi 2013-04-25 15:16:22

回答

2

一般来说,一个普通的WiFi网络将没有任何设施允许单个应用程序访问它。移动设备OS将自己与WiFi网络相关联,并且它将允许所有应用程序访问它。

但是,您可以使用需要验证的代理服务器。然后,您可以将身份验证密钥(例如客户端证书)构建到应用程序中,以便只有应用程序才能够通过代理进行通信。

+0

所以这些想法应该是有一个代理,可以访问具体的身份验证密钥。这是恳求用户必须获得证书吗? – doxsi 2013-04-25 15:24:53

+0

只要应用程序可以与嵌入其中的“城堡钥匙”一起分发,证书,密码和任何身份验证设置都可以工作。客户端证书确实可以很好地工作,因为您可以为每个设备颁发证书并对哪些设备仍然可以访问服务进行细化控制。 – Mels 2013-04-26 07:38:57

+1

我会建议你重新格式化你的问题,顺便问一下在ServerFault上。那里有很棒的人可以帮助你建立一个合适的代理服务器。然后,您可以询问关于构建使用代理服务器访问互联网(或公司内部网络的某些部分)的应用程序的新问题。 – Mels 2013-04-26 07:42:28

2

如果你想只提供连接到任何网络,那么你需要把一些规则IPTABLES in linux核心(this needs your application to have root access)的应用程序就像firewall applications为Android,监视应用的UID访问网络

但你可以通过其他方式实现,实现一些服务器调用,只有通过特定应用才能访问公司的特定网络。在http请求中使用一些验证,例如维护unique ID以区分您在注册期间可以创建的应用/用户并在与网络use the key for validation交互期间。

+0

他的问题标签为Android和iPhone。 (unjailbroken)iPhone没有任何规定哪些应用访问哪些网络AFAIK的方式。 – Mels 2013-04-25 12:54:08

+0

是的,但可以在android中充分证明,我的解决方案主要关注android应用程序的一部分。我怀疑它可以认真的在iphone上,因为有很多限制。 – Neji 2013-04-25 13:19:18

+0

谢谢。该应用程序只能使用互联网服务INTo应用程序,例如发送邮件给公司或填写表格。 – doxsi 2013-04-25 15:22:21

相关问题