2011-09-17 61 views
6

我嘗試了以下設置基本身份驗證用戶名和密碼,但它似乎並沒有被傳遞基本身份驗證的請求..如何在RestKit的getObject中使用基本身份驗證?

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:發現我的問題,我需要添加以下片斷

secureManager.client.forceBasicAuthentication = YES; 

回答

10

你讓你的請求之前,你可以抓住潛在RKClient的實例,並設置用戶名和密碼,像這樣:

// 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]; 

作爲MonkeyBonkey在評論中指出的,您可能需要使用一個標誌,強制認證:

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

我想這個代碼,但它似乎沒有設置AUTH頭 – MonkeyBonkey

+3

固定加入vc.client.forceBasicAuthentication = YES; – MonkeyBonkey

+0

非常好,我會在我的回答中補充說明,並將其記入您的任何未來用戶 –