KERBEROS 認証を使用して SharePoint へのファイルのアップロードを容易にするスタンドアロンの Java プログラムが必要です。
2010 バージョンにアップグレードされ、Kerberos 認証で構成された sharepoint サーバーがあります。以前の sharepoint バージョンでは、ローカル システムからファイルをアップロードするための javaq クライアント プログラムがある NTLM 認証を使用していました。sharepoint は Kerberos 認証でアップグレードされたので、現在の NTLM バージョンの Java プログラムを変更して Kerberos を使用する必要があります。認証と接続のコード スニペットを取得しましたが、これは正常に機能しています。Sharepoint の URL を読み取り、Java プログラムを使用して特定のファイルをダウンロードできます。今、Sharepoint にファイルをアップロードしようとしていますが、これに使用するために必要な Java クラスと jar ファイルを取得していません。
SPNEGO APIを使用してsharepointに接続するKerberos構成をセットアップしました。
conf ファイル: krb5.conf login.conf
Kerberos 認証に使用される API: spnego-r7.jar
接続性: 次のコードは、完全に機能している接続性とファイルのダウンロードに使用しています。
spnego = new SpnegoHttpURLConnection("spnego-client", <<sharepoint_user>>, <<sharepoint_password>>);
//New Lines added to omit SSL Handshake exception
TrustManager[] trustAllCerts = new TrustManager[]{
new X509TrustManager() {
public java.security.cert.X509Certificate[] getAcceptedIssuers(){
return null;
}
public void checkClientTrusted(java.security.cert.X509Certific ate[] certs, String authType){
//No need to implement.
}
public void checkServerTrusted(java.security.cert.X509Certific ate[] certs, String authType){
//No need to implement.
}
}
};
SSLContext sc = SSLContext.getInstance("SSL");
sc.init(null, trustAllCerts, new java.security.SecureRandom());
HttpsURLConnection.setDefaultSSLSocketFactory(sc.g etSocketFactory());
spnego.connect(new URL(spLocation));
System.out.println("spnego.getResponseCode():: "+spnego.getResponseCode());
if(spnego.getResponseCode() >= 200) {
log.debug("Authentication Successful");
}
ファイルの読み取り/ダウンロード:
java.io.BufferedInputStream in = new java.io.BufferedInputStream( spnego.getInputStream());
java.io.FileOutputStream fos = new java.io.FileOutputStream(outputFile);
java.io.BufferedOutputStream bout = new BufferedOutputStream(fos,1024);
byte[] data = new byte[1024];
int x=0;
System.out.println("4" + outputFile.length());
while((x=in.read(data,0,1024))>=0) {
bout.write(data,0,x);
}
bout.close();
in.close();
Java コードを使用して SharePoint フォルダにファイルをアップロードする方法を教えてください。多くのフォーラムを何時間も検索しましたが、ファイル アップロードの正確なコードを取得できませんでした。これに関するあなたのアドバイスは大歓迎です。
前もって感謝します。