Android Wifi听众策略

时间:2012-04-22 21:01:51

标签: android authentication

我是Android开发的新手,我需要一些帮助来解决以下问题:我的学院的Wi-Fi网络有一个强制门户网站,要求您输入用户名和密码来访问学校的系统,所以我想每当手机检测到与学校网络的连接(检查SSID)时,我就可以通过向门户发送带有用户数据的HTTP发布请求来自动化登录网络的过程,对吧?事情是我不知道从哪里开始,Android是一个非常广泛的环境,所以我在这里请你指导。我做了一些关于它的功课,这是我到目前为止所做的:

  • 我可以使用带有连接管理器意图的BroadcastReceiver启动应用程序。我认为它可能会给我太多意图,我不需要,因为我只需要Wifi。我读到了它here
  • 我可以使用AndroidHTTPClient创建HTTP请求。

我正在计划的流程如下:用户首次打开应用程序,然后输入用户名和密码,当您按下它时,自动连接的切换按钮会变为“断开连接”(如您只能使用相同的凭据一次连接一个设备,它会向网络的注销页面发送请求)。系统处于自动连接模式时,每次手机连接到学校网络时,即使应用程序未运行,也应发送请求。

  • 首先,这种问题的最佳方法是什么?
  • 我应该在哪里(以及何时)存储凭据?
  • 我应该在哪里提出请求?在接收者的onRecive()?在活动中?

我知道这就像是要求你解决我的问题,但我想在这里学习,我需要指导,尽我所能使用这个软件。我非常感谢您的意见:)

1 个答案:

答案 0 :(得分:2)

我将实现一个实现BroadcastReceiver的服务,以检查配置AsyncTask的Internet连接的变化并执行它以向登录服务发出正确的请求。

您是否检查过这是否真的可行?您是否了解了HTTP请求的正确参数?你能用curl进行身份验证吗?

我不知道Android是否有适当的机制来存储有价值的信息,但实际上保存凭据的位置取决于安全风险的级别。我暂时不会太注意这一点 - 假设这些密码没有价值,应用程序也不会广泛传播。无论如何,您可以将二进制序列存储在静态变量中,并使用用户密码对其进行异或,并将其存储在另一个静态变量中。这应该足以进行简单的内存扫描。我没有提到写入文件,因为我认为这样做在安全方面风险太大。

顺便说一句,这看起来是一个很好的应用理念。你有没有检查过某人是否已经做过这件事?