編輯:附加「或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來完成此操作,那可能就足夠了。謝謝。
謝謝! LDAP工作,但沒有Active Directory。我正在研究這個問題,但是你找到了一個很好的解決方案。再次感謝:) – kentcdodds
出於某種原因,我無法編輯您的答案,但我發現了一些可能對未來用戶有所幫助的內容。他們的文檔[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
添加了'credential.setDomain(「mydomain.org」);'線,它使線程掛起並最終超時。我猜這就是它應該如何完成,我有一個活動目錄問題... – kentcdodds