6

我尝试了以下设置基本身份验证用户名和密码,但它似乎没有在请求中传递基本身份验证..

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

更新:发现我的问题,我需要添加以下代码片段

secureManager.client.forceBasicAuthentication = YES;
4

1 回答 1

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;
于 2011-09-17T14:05:47.383 回答