Dans mon application iPhone, j'essaie d'afficher une image sur l'iPhone de mon serveur, qui nécessite une autorisation. J'essaie d'utiliser NSURLConnection pour obtenir l'image, mais il ne me demande pas les informations d'identification de l'utilisateur. c'est-à-dire qu'il ne va pas du tout à la méthode didReceiveAuthenticationChallenge. Quelqu'un peut-il m'aider avec ce problème?HttpBasicAuthentication dans IPhone
Répondre
Étant donné que vous ne publiez aucun code, il est difficile de le savoir. Je revérifierais et m'assurerais que le membre délégué est correctement défini sur NSURLConnection. Si ce n'est pas le cas, essayez d'utiliser un débogueur HTTP et assurez-vous que l'URL déclenche effectivement la demande d'authentification.
Vous pouvez calculer l'en-tête d'autorisation nécessaire vous et appliquer manuellement au NSURLRequest sortant avant de créer le NSURLConnection, comme dans:
NSMutableURLRequest *someURLReq = ...
NSString *auth = ...
[someURLReq setValue:auth forHTTPHeaderField:@"Authorization"];
Le contenu du auth
dans le cas d'authentification HTTP de base, en utilisant Dave Dribin's base64 NSData category serait:
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]];
Notez que ce n'est pas le cryptage, le mot de passe est le texte brut à toutes fins pratiques, et sera renifla à moins que vous êtes sur une connexion SSL.
Salut .. Merci pour votre réponse .... J'ai une application Web hébergée sur IIS avec l'authentification Windows. Maintenant, j'essaie d'accéder aux pages de cette application Web. Avec votre code, cela ne fonctionne pas. il renvoie une erreur non autorisée. dois-je utiliser le mode d'authentification NTML/Digest. – nbojja
Postez votre code si vous avez besoin d'aide. – Jordan