3

編集:質問のタイトルに「またはLDAP」を追加して、LDAP資格情報で認証できるようにするソリューションがあれば問題ないことを示しました。

私の質問: Active Directory の資格情報を使用してBusinessObjects セッションを認証するにはどうすればよいですか?

例:でこれを行う方法について SAP からの例を (私は思うに) 持っています.NETが、Java. (この pdfを参照し、「.NET Web アプリケーションを変更して Kerberos を有効にする」を検索してください)。

現在:エンタープライズアカウントを使用して認証するソリューションがあります:

/**
* Logs into BusinessObjects. Sets the reportEngine and biPlatform
*/
public void loginToBusinessObjects() throws AxisFault, MalformedURLException, Exception {
  LogHelper.println("Server connection: " + boServer);

  URL boConURL = new URL(boServer);//set connection URL
  connection = new com.businessobjects.dsws.Connection(boConURL);

  boSession = new Session(connection); //setup new session

  EnterpriseCredential credential = EnterpriseCredential.Factory.newInstance();
  credential.setLogin(boUsername);
  credential.setPassword(boPassword);
  LogHelper.println(boUsername + ": ##password##");
  boSession.login(credential); //login to server
  ...
}

上記のコードはうまく機能します。

現在:ユーザーが Active Directory 資格情報を提供し、それらを使用して認証できるようにしたいと考えています。ただし、これを行う方法が見つからないようです。上記のコードに関するドキュメントは、「サーバーへのログイン」を検索する同じ pdfにあります。

:私はこれについてすべて間違っている可能性があります。私の組織では、Active Directory と LDAP 認証に同じ資格情報を使用しています。LDAP を使用してこれを行う方法があれば、それで十分です。ありがとう。

4

1 に答える 1

3

回答は、ユーザーに Active Directory や LDAP 認証を設定しており、ユーザーがその認証方法のエイリアスを持っていることを前提としています。これは、InfoView へのログインによって確認できるはずです。

credential.setAuthType(authType) を使用してそれを行うことができるはずです。
authType の場所

  • 「secEnterprise」の デフォルト値
  • 「secLDAP」
  • 「secWinAD」

デフォルトで AuthType が secEnterprise に設定されていることは理にかなっているようです。

注: 私はまだ認証メカニズムがわずかに異なる R3 を使用しており、この解決策を特に試していません。


重要な編集:ドキュメント (これは BusinessObjects にとってはひどいものであり、これを読んでいる人はおそらく既に知っているでしょう) は、アクティブ ディレクトリには "secAD" を使用すると述べています。ただし、私のテストでは、「secWinAD」を使用して認証に成功しました。これは、ドキュメントのどこにも表示されていません:-/ (見つけることができました)。

于 2012-06-29T14:25:32.317 に答える