2012-06-28 98 views
3

編輯:附加「或LDAP」問題標題以表明我可以使用解決方案使我可以使用LDAP憑證進行身份驗證。如何使用Active Directory或LDAP登錄到Business Objects

我的問題:如何在Active Directory中使用憑據驗證BusinessObjects session

例子:我有(我認爲)從SAP如何做到這一點.NET一個例子,但我似乎無法找到Java類似的解決方案。 (請參閱this 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憑據並使用這些憑證進行身份驗證。但我似乎無法找到一種方法來做到這一點。有關上述代碼的文檔可以在that same pdf搜索「登錄到服務器」中找到。

注意:我可能會說這一切都是錯誤的。我的組織對Active Directory和LDAP身份驗證使用相同的憑據。如果有一種方法可以使用LDAP來完成此操作,那可能就足夠了。謝謝。

回答

3

答案假定您爲用戶設置了Active Directory和/或LDAP身份驗證,並且該用戶具有該身份驗證方法的別名。這應該可以通過登錄到InfoView來驗證。

你應該可以通過使用credential.setAuthType(authType)來完成它。
其中的authType是

  • 「secEnterprise」 默認值
  • 「secLDAP」
  • 「secWinAD」

似乎並是有道理的,在默認情況下進行AuthType設置爲secEnterprise。

注:我仍然在R3有一個稍微不同的身份驗證機制,我沒有具體嘗試此解決方案。


重要編輯:文檔(這是可怕的爲BusinessObjects和任何人讀這可能已經知道)說,對活動目錄使用「的sEcad」。然而,在我的測試中,我能夠使用「secWinAD」成功進行身份驗證,該文件根本沒有出現在他們的文檔中任何地方: - /(我可以找到)。

+0

謝謝! LDAP工作,但沒有Active Directory。我正在研究這個問題,但是你找到了一個很好的解決方案。再次感謝:) – kentcdodds

+1

出於某種原因,我無法編輯您的答案,但我發現了一些可能對未來用戶有所幫助的內容。他們的文檔[setAuthType(String authType)](http://help.sap.com/javadocs/boe/xir2/ws/en/com/businessobjects/dsws/session/EnterpriseCredential.html#setAuthType(java.lang.String ))。他們有一個不同的'secActiveDirectory'(他們使用'secAD')。這仍然不起作用,所以我正在努力。 – kentcdodds

+0

添加了'credential.setDomain(「mydomain.org」);'線,它使線程掛起並最終超時。我猜這就是它應該如何完成,我有一個活動目錄問題... – kentcdodds