UIWebView и базовая аутентификация в MonoTouch
В проекте MonoTouch у меня есть UIWebView, загружающий защищенный URL-адрес обычной аутентификации. Мне удалось пройти проверку подлинности по первому запросу к URL, вручную добавив базовый заголовок auth:
UIWebView webView = new UIWebView(View.Frame);
... initialize webView
NSMutableUrlRequest request = new NSMutableUrlRequest(new NSUrl("http://example.com"));
string header = "Basic " + Convert.ToBase64String (Encoding.UTF8.GetBytes("domain\\username:password"));
request["Authorization"] = header;
webView.LoadRequest(request);`
Это хорошо работает на первой странице, которая открывается в UIWebView. Но когда щелкает ссылка href внутри веб-просмотра, запрос не выполняется с 401. Я проверил отправленные заголовки через Fiddler, и мой заголовок не отправляется ни в одном последующем запросе после первого. Я попытался внедрить заголовок ко всем запросам в делегате ShouldStartLoad, но результата не было:
webView.ShouldStartLoad = (w, request, navType) => {
((NSMutableUrlRequest)request)["Authorization"] = header;
return true;
};
Как мне вставить заголовок http авторизации во ВСЕ запросы в UIWebView?