2011-09-17 12 views
6

Ho provato quanto segue per impostare il nome utente autenticazione base e password, ma non sembra essere passando l'autenticazione di base nella richiesta ..Come si utilizza l'autenticazione di base con getObject di RestKit?

secureManager = [[RKObjectManager objectManagerWithBaseURL:@"http://localhost:3000"] retain]; 

secureManager.client.username = uname; 
secureManager.client.password = pwd; 


RKObjectLoader *loader = [svc getObject:user delegate:self]; 

loader.userData = [NSNumber numberWithInt:RequestLogin]; 

UPDATE: trovato il mio problema, avevo bisogno di aggiungere il seguente snippet

secureManager.client.forceBasicAuthentication = YES; 

risposta

10

È possibile prendere un'istanza della RKClient sottostante prima di effettuare la richiesta e impostare il nome utente e la password in questo modo:

// Set the Username and Password 
[RKObjectManager sharedManager].client.username = @"username"; 
[RKObjectManager sharedManager].client.password = @"letmein"; 

// Make our Request 
[[RKObjectManager sharedManager] getObject:user mapResponseWith:mapping delegate:self]; 

Come MonkeyBonkey sottolinea nei commenti, potrebbe essere necessario forzare l'autenticazione utilizzando un flag:

[RKObjectManager sharedManager].client.forceBasicAuthentication = YES; 
+1

Ho provato questo codice, ma non sembrava per impostare l'intestazione di autenticazione – MonkeyBonkey

+3

fisso con l'aggiunta di vc.client.forceBasicAuthentication = SÌ; – MonkeyBonkey

+0

Eccellente, lo aggiungo nella mia risposta e lo accredito a te per tutti gli utenti futuri –

Problemi correlati