经过广泛的研究,我无法找到我的问题的明确答案.首先,有人能告诉我处理连接到Web服务的本机iphone应用程序的"登录功能"的基本逻辑吗?例如,Facebook应用程序在启动后立即询问用户名和密码,从那里您可以在应用程序的所有后续视图中完全访问您的帐户.每次你发布的东西等,你都不必重新登录...有人可以向我解释这个过程吗?它是通过cookie还是会话完成的?Keychain参与了吗?
我现在有一个半工作的应用程序,但我几乎肯定我可以做得更好,更安全.这是我正在做的事情:
1)使用mysql设置具有用户数据库(用户名和密码列以及其他表等)的本地服务器.写了一个简单的Web服务,它接受POST数据并查询数据库以检查用户名是否存在......如果存在,那么密码是相同的.使用sha1散列.相应地回应真或假.
2)我的应用程序有一个初始登录屏幕,其中包含2个文本字段(1表示用户名,1表示密码)和一个调用登录方法的按钮.我的登录方法执行以下操作:
所以,我的问题是:
1)发送密码是否安全?(通过ASIHTTPRequest和POST方法?)2)在随后的视图中,用户应该能够与他们的帐户进行交互(比如在Facebook上发布消息和状态以及图片)如何保持用户的登录状态以便每个人都可以用户与数据库交互的时间,我可以确保用户仍然登录并且它是同一个用户?例如,我能想到这样做的唯一方法是,如果我使用用户名和密码在用户设备上存储cookie,然后每次与Web服务/数据库的连续交互,它都会使用cookie值进行身份验证(用户名)和密码).
必须有更好的方法来做到这一点?也许会议或饼干?或者使用钥匙串?
感谢帮助人员,对不起这个长期问题感到抱歉!