2009-04-17 18 views
1

私のiPhoneアプリケーションでは、認証が必要な私のサーバーからiphoneに画像を表示しようとしています。 NSURLConnectionを使用してイメージを取得しようとしていますが、ユーザーの資格情報を要求していません。すなわち、それはdidReceiveAuthenticationChallengeメソッドに全く行きません。誰もがこの問題で私を助けることができますか?HttpBasicAuthentication in IPhone

+0

何か助けが必要な場合は、コードを投稿してください。 – Jordan

答えて

0

あなたのコードを投稿するのは難しいので、教えにくいです。チェックを重ね、NSURLConnectionでデリゲートメンバが正しく設定されていることを確認します。それが問題でない場合は、HTTPデバッガを使用して、URLが実際に認証要求をトリガしていることを確認してください。

6

あなたは自分を必要なAuthorizationヘッダーを計算し、手動でのように、NSURLConnectionを作成する前に、発信NSURLRequestにそれを適用することができます。

Dave Dribin's base64 NSData categoryを使用して
NSMutableURLRequest *someURLReq = ... 
NSString *auth = ... 
[someURLReq setValue:auth forHTTPHeaderField:@"Authorization"]; 

HTTP基本認証の場合はauthの内容、次のようになります。

NSString *username = ... 
NSString *password = ... 
NSString *combo = [NSString stringWithFormat:@"%@:%@", username, password]; 
NSData *comboData = [NSData dataWithBytes:[combo UTF8String] length:combo.length]; 
NSString *auth = [NSString stringWithFormat:@"Basic %@", [comboData encodeBase64]]; 

これは、暗号化されていないことに注意、パスワードはすべての実用的な目的のためにプレーンテキストで、あなたはSSL接続でない限り盗聴されます。

+0

こんにちは.. 返信ありがとう.... Windows認証でIIS上でホストされているWebアプリケーションがあります。今、私はそのWebアプリケーション上のページにアクセスしようとしています。あなたのコードでは動作しません。それはunauthourizedエラーを返しています。 NTML /ダイジェスト認証モードを使用する必要がありますか? – nbojja