ntlm 認証を使用する sharepoint サイトがあります。ページをロードするために、これを使用してサイトへの認証を行います。
public String LoadUrlWithNTLM(String url){
CkHttp http = new CkHttp();
http.put_Login("username");
http.put_Password("password");
http.put_NtlmAuth(true);
http.put_SessionLogFilename("ntlmAuthLog.txt");
String source = http.quickGetStr(url);
return source;
}
これでwebviewをロードします。
public void LoadWebView(String url, String source){
webView = (WebView) findViewById(R.id.webView1);
webView.getSettings().setJavaScriptEnabled(true);
webView.setWebViewClient(new WebViewClient());
webView.loadDataWithBaseURL(url, source, "text/html", "", "");
}
これを OnCreate() で呼び出します
source= LoadUrlWithNTLM(url);
LoadWebView(url,source);
次に、これでクリックするURLイベントがあるかどうかを確認します
webView.setWebViewClient(new WebViewClient() {
public boolean shouldOverrideUrlLoading(WebView view, String url){
String toWebView = LoadUrlWithNTLM(url);
LoadWebView(url,source);
return false;
}
});
ある時点で、NTLM 認証を使用して SharePoint サイトにアクセスすることで管理できますが、リンクをクリックすると、「401 UNAUTHORIZED」と表示され、ブレークポイントで shouldOverrideUrlLoading() メソッドが呼び出されません。