2013-03-27 50 views
0

我可以使用NSURL进行身份验证,用户可以分配用户名和密码。但是,我又遇到了另一个问题。如果我打开这个,http://html5test.com/,它也弹出并询问用户名和密码。即使它不应该得到,我也得到认证。我想知道该怎么做。NSURLConnection身份验证挑战,即使它不应该

-(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType 
{ 
    if(!_auth) 
    { 
    connection_for_auto = [[NSURLConnection alloc] initWithRequest:request delegate:self]; 
      firsttimeonly=TRUE; 
     [connection_for_auto start]; 
     NSLog(@"Request >> %@ and !firsttimeonly",request); 
     return NO; 
    } 
    self.lbl_error.hidden = YES; //hide error message label 
    return YES; 

} 

- (void)connection:(NSURLConnection *)connection didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge 
{ 

    checkTochangeUIalert=TRUE; 
    UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Login" 
                message:nil 
                delegate:self 
              cancelButtonTitle:@"Cancel" 
              otherButtonTitles:@"OK",@"Auto", nil]; 

    alertView.transform=CGAffineTransformMakeScale(1.0, 0.75); 
    alertView.alertViewStyle = UIAlertViewStyleLoginAndPasswordInput; 
    [alertView show]; 
} 

回答

0

我想我已经找到了一种方法。我需要检查我使用什么样的身份验证方法。

if ([challenge.protectionSpace.authenticationMethod isEqualToString:NSURLAuthenticationMethodHTTPBasic] || [challenge.protectionSpace.authenticationMethod isEqualToString:NSURLAuthenticationMethodNTLM]) 
{ 
............. 
} 
相关问题