【发布时间】:2010-10-04 19:31:26
【问题描述】:
我设置了一个可可类,我想用它来连接我正在构建的 RESTful Web 服务。我决定像这样在我的 PHP 后端使用 HTTP 基本身份验证……
<?php
if (!isset($_SERVER['PHP_AUTH_USER'])) {
header('WWW-Authenticate: Basic realm="My Realm"');
header('HTTP/1.0 401 Unauthorized');
//Stuff that users will see if they click 'Cancel'
exit;
}
else {
//Validation Code
echo "You entered info.";
}
?>
此时我正在使用同步 NSURLConnection,据我了解,Apple 文档状态对身份验证的支持较少。
但这有可能吗?我可以很容易地进行 cookie 身份验证,无需 NSURLProtectionSpaces 或 NSURLCredentials 或任何身份验证类。另外,是否有任何资源可以让我了解更多关于 Cocoa 身份验证类的信息?
谢谢。
更新:mikeabdullahuk 您提供的代码(第二个示例)与我编写的代码几乎相同。我做了更多调查,发现 NSURLConnection 正在返回一个错误……
Error Domain=NSURLErrorDomain Code=-1012 UserInfo=0x1a5170 "Operation could not be completed. (NSURLErrorDomain error -1012.)"
代码对应NSURLErrorUserCancelledAuthentication。所以显然我的代码没有访问 NSURLCredentialStorage 而是取消了身份验证。这可能与 PHP HTTP 身份验证功能有关吗?在这一点上我很困惑。
【问题讨论】:
标签: objective-c cocoa http authentication https