嗨,我即将创建一个拥有帐户系统的iphone应用程序。 (登录/退出)。
也将有服务器端。那么如何进行会话管理。而你的客户是iphone
我怎么能这样做?
答案 0 :(得分:1)
我使用ASIHTTPRequest库与我的网络服务进行通信。
它具有处理cookie的内置功能,因此我只需使用POST请求登录,并将cookie设置为普通浏览器。
当您的网络连接关闭时,您仍然可以检查有效的Cookie:
- (BOOL) hasSignInCookie
{
NSArray *cookieJar = [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies];
for( NSHTTPCookie *cookie in cookieJar)
{
if( [[cookie name] compare: @"JourneyTagID"] == NSOrderedSame)
{
return YES;
}
}
return NO;
}
答案 1 :(得分:0)
如果是webapp,或者您的服务器端将成为Web服务,您可能希望使用HTTP cookies。
否则,您可以提出一些自定义方案,其中您将会话ID分配给客户端并将其与服务器端的状态相关联。客户端在将来的请求中提供此会话ID。
这里要考虑的事情包括服务器端和客户端的持久性/到期。此外,安全性(您的方案是否容易受到强力攻击或预测攻击?您是否应该加密分配/提供此类通信的通信?)
关于iPhone,您可能希望使您的会话ID特定于特定的UDID(唯一的硬件地址)。