我使用AFNetworking作为我的iPhone应用程序的网络层,它连接到使用Devise进行身份验证的Rails服务器。如果我登录(使用POST调用),提供用户名/密码,那么在那之后我执行的任何GET都是可以的。
如果我关闭应用程序(不仅仅是后台),那么我所有的GET请求都会失败,因为我猜它们没有经过身份验证。
所以我假设cookies存储在某个地方;有没有一种方法可以将它们保存在NSUserDefaults
或类似的地方,以避免总是登录?
发布于 2011-12-25 05:41:10
对于特定服务器上的任何后续请求,Cookie确实会在应用程序的生命周期内自动存储。一个不错的策略是将用户名和密码存储在密钥链或NSUserDefaults
中,如下所示:
// Setting
[[NSUserDefaults standardDefaults] setObject:username forKey:@"username"];
[[NSUserDefaults standardDefaults] synchronize];
// Getting
NSString *username = [[NSUserDefaults standardDefaults] objectForKey:@"username"];
您可能希望将其与AFHTTPClient
结合使用,以便在Authorization
HTTP头中将凭据与每个请求一起发送。
https://stackoverflow.com/questions/8565087
复制相似问题