2009-10-30 2 views
1

방금 ​​처음으로 iPhone 응용 프로그램을 구현하는 과정이 끝났습니다. 모든 것이 잘되었으므로 이제는 응용 프로그램에 일종의 보안을 제공해야하며이를 수행하는 가장 좋은 방법이 무엇인지 모릅니다.매번 서버에 인증 할 필요가 없도록 인증서를 어떻게 저장합니까?

현재 과 같이 작동합니다. 사용자가 사용자 이름과 암호를 입력하면 서버가 올바른 정보인지 확인하고 서버에 다른 요청을하면 사용자 이름과 암호를 묻는 메시지가 표시됩니다. 이 메소드는 didReceiveAuthenticationChallenge라고 불린다. 사용자 이름과 암호를 다시 입력하고 서버가이를 확인한 다음 요청을 다시 보냅니다.

내 질문은 : 올바른 동작입니까? 아이폰을위한 어떤 종류의 세션이 있습니까? 쿠키를 사용하여 사용자 이름과 암호를 저장하려면 어떻게해야합니까?

또한 I 저장 newCredential = NSURLCredential credentialWithUser : 자명 비밀 번호 : 지속성 : NSURLCredentialPersistenceForSession];

하지만 세션에는 저장되지 않습니다. 우리 코드에서 iPhone이나 PHP 스크립트에 문제가 있습니까?

답변

2

Keychain API을 사용하여 자격 증명을 안전하게 저장하고 검색하는 것이 좋습니다. 이것이 바람직한 경우 응용 프로그램 재시작 사이에 자격 증명을 보존 할 수도 있습니다.

+0

NSURLCredentialPersistencePermanent 자격 증명은 사용자의 키 체인에 저장되고 다른 응용 프로그램과 공유됩니다. – zaph

+0

NSURLCredentialPersistencePermanent도 시도했지만 initwithrequestmethod 또는 POST 메서드를 사용하여 다음 webURL을 호출하면 저장되지 않습니다. 내가 브라우저 파이어 폭스에서 시도했을 때 dojon't는 신임장을 다시 요구하지만 맥 사파리는 묻는다. 웹 스크립트에 문제가 있습니까? – crystal

관련 문제