2010-05-29 4 views
1

나는 사용자를 인증하고 세션을 시작하는 PHP 웹 서버에 로그인 할 수있는 아이폰 앱을 만들고 있습니다.코코아 터치로 사용자의 PHP 세션 관리하기

내 세션 관리에 대한 아이디어는 sharedLogin 메서드가있는 싱글 톤 User 클래스를 만드는 것입니다. 세션을 유지하기 위해 공유 인스턴스에 세션 변수를 저장하는 것이 현명합니까?

답변

2

관심있는 사용자를위한. 내가 결정한 방법은 NSURLConnection 대리자 메서드 connection:didReceiveResponse:을 사용하는 것입니다. 그런 다음 응답 헤더를 처리하고 PHPSESS 쿠키를 NSHttpCookieStorage에 저장합니다.

- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response { 

    [super connection:connection didReceiveResponse:response]; 
    NSHTTPURLResponse *urlResponse = (NSHTTPURLResponse *)response; 

    NSArray *allCookies = [NSHTTPCookie cookiesWithResponseHeaderFields:[urlResponse allHeaderFields] forURL:[response URL]]; 

    if ([allCookies count]) { 
     [connection cancel]; 

     [[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookies:allCookies forURL:[response URL] mainDocumentURL:nil]; 
    } 
}