Chào mọi người,NSURLConnection, NSURLRequest, xác thực người dùng và xác thực không tin cậy
Tôi đã cố gắng viết một ứng dụng nhận được từ một dịch vụ web từ xa yêu cầu xác thực. Vấn đề chính của tôi là phần lớn các máy chủ từ xa này (và có rất nhiều máy chủ) không có chứng chỉ hợp lệ. Tôi đã có code to accept the invalid certificate và mã để phản hồi thử thách với thông báo un232 & vượt qua (bên dưới). Vấn đề tôi đang gặp là bắt hai người chơi cùng nhau. Tôi dường như không thể tìm ra cách để gửi thử thách cả hai NSURLCredential
s hoặc một cách để chuỗi các cuộc gọi lại chính xác. Khi tôi cố gắng kết nối chúng, tôi không thể nhận được NSURLRequest
để gọi didReceiveAuthenticationChallenge
hai lần.
Bất kỳ suy nghĩ nào cũng sẽ được đánh giá cao!
Mã cho xác thực ...
-(void)connection:(NSURLConnection *)connection didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge
{
if(!hasCanceled){
if ([challenge previousFailureCount] == 0) {
NSURLCredential *newCredential;
newCredential=[NSURLCredential credentialWithUser:_username password:_password persistence:NSURLCredentialPersistenceNone];
[[challenge sender] useCredential:newCredential forAuthenticationChallenge:challenge];
}
else {
[[challenge sender] cancelAuthenticationChallenge:challenge];
NSLog(@"Bad Username Or Password");
badUsernameAndPassword = YES;
finished = YES;
}
}
}
Làm việc như một sự quyến rũ. Cần thiết để triển khai phương thức "canAuthenticateAgainstProtectionSpace" một cách chính xác để ứng dụng của tôi gọi phương thức này. Nhưng sau đó tất cả là tốt. Cảm ơn! – Staros