如何在iPhone上创建和维护身份验证会话?

时间:2009-12-07 04:31:54

标签: iphone

嗨,我即将创建一个拥有帐户系统的iphone应用程序。 (登录/退出)。

也将有服务器端。那么如何进行会话管理。而你的客户是iphone

我怎么能这样做?

2 个答案:

答案 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(唯一的硬件地址)。