2

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() メソッドが呼び出されません。

4

1 に答える 1