Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/111.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios AFNetworking:如何/何时提示输入基本身份验证的用户名和密码?_Ios_Cocoa_Afnetworking_Basic Authentication - Fatal编程技术网

Ios AFNetworking:如何/何时提示输入基本身份验证的用户名和密码?

Ios AFNetworking:如何/何时提示输入基本身份验证的用户名和密码?,ios,cocoa,afnetworking,basic-authentication,Ios,Cocoa,Afnetworking,Basic Authentication,我正在寻找提示用户输入凭据的最佳实践。我必须对用户从手机登录后,他/她可以从其他设备或网页登录并更改密码的可能性进行编码。由于我正在进行基本身份验证,该令牌现在将不正确,我需要适当地处理它 我已经开始了一个新的AFNetworking项目。我已经对AFHTTPClient进行了子类化,并且在调用super之后重写了HTTPRequestOperationWithRequest消息,以在其上设置身份验证质询块。在该块中,我应该创建一个新的NSURLCondential对象并将其发送回发送方。到目前

我正在寻找提示用户输入凭据的最佳实践。我必须对用户从手机登录后,他/她可以从其他设备或网页登录并更改密码的可能性进行编码。由于我正在进行基本身份验证,该令牌现在将不正确,我需要适当地处理它

我已经开始了一个新的AFNetworking项目。我已经对AFHTTPClient进行了子类化,并且在调用super之后重写了HTTPRequestOperationWithRequest消息,以在其上设置身份验证质询块。在该块中,我应该创建一个新的NSURLCondential对象并将其发送回发送方。到目前为止我都明白了

我不知道应该如何提示用户。理想情况下,我想用登录按钮在导航控制器上按下一个登录屏幕。单击登录按钮将创建NSURLCredential并将其发送回发件人

  • 我是否应该在挑战区内进行阻挡?这似乎不对
  • 是否应将NSURLAuthenticationChallenge对象保存到全局数据库?哎哟
  • 我应该从我的子类AFHTTPClient推送登录页面吗?听起来我违反了关注点分离
  • 我是否应该调用AppDelegate来提示用户并将NSURLAuthenticationChallenge对象传递给它?听起来更好,但仍然不确定

到目前为止,我选择了选项4。但是,我必须通过PerformMonMainSelector调用推送登录控制器。调用useCredential:forAuthenticationChallenge:时似乎会导致问题。我的服务器没有显示授权标头。我还是被卡住了。