2011-04-28 22 views
10

Estoy esperando que alguien me puede ayudar con una pregunta que me he relacionado con la autenticación en Xcode Básicamente tengo un servidor MS Sharepoint que devuelven XML. Tengo este código para la autenticación pero no es accesible.HTTP de autenticación de iPhone

NSString *urlString = @"http://example.com/"; 

NSMutableURLRequest *request= [[[NSMutableURLRequest alloc] init] autorelease]; 
[request setURL:[NSURL URLWithString:urlString]]; 
[request setHTTPMethod:@"POST"]; 

NSString *str1 = [NSString stringWithString:@"username:password"]; 
NSData *myDate = [str1 dataUsingEncoding:NSUTF8StringEncoding]; 
NSString *str2 = [Base64 encode:myDate]; 
NSLog(@"%@ str1 %@", str2,str1); 

[request addValue:[NSString stringWithFormat:@"Basic %@",str2] forHTTPHeaderField:@"Authorization"]; 

NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil]; 
NSString *str = [[NSString alloc] initWithData:returnData encoding:NSUTF8StringEncoding]; 
NSLog(@"%@", str); 

Incluso i M pasar credenciales correctas, pero el servidor no está aceptando. Devuelve

401 - No autorizado: acceso denegado debido a credenciales no válidas.

¿Puede any1 Ayuda?

Respuesta

8

Use NSURLConnection-connection:didReceiveAuthenticationChallenge: método de delegado para detectar cuándo se requiere autenticación. En resumen, utilizará instancias de NSURLCredential para adjuntar autenticación a la solicitud.

Los documentos tienen una buena visión general y código de ejemplo:

Responding to an Authentication Challenge

Cuestiones relacionadas