Java 如何使用Active Directory或LDAP登录到业务对象
编辑:在问题标题中添加“或LDAP”,表示我可以找到一个解决方案,使我能够使用LDAP凭据进行身份验证 我的问题:如何使用Active Directory中的凭据对证书进行身份验证 示例:关于如何在Java 如何使用Active Directory或LDAP登录到业务对象,java,authentication,active-directory,sap,business-objects,Java,Authentication,Active Directory,Sap,Business Objects,编辑:在问题标题中添加“或LDAP”,表示我可以找到一个解决方案,使我能够使用LDAP凭据进行身份验证 我的问题:如何使用Active Directory中的凭据对证书进行身份验证 示例:关于如何在.NET中实现这一点,我(我想)有一个SAP示例,但我似乎找不到类似的Java解决方案。(请参阅并搜索“修改.NET Web应用程序以启用Kerberos”) 目前:我有一个使用企业帐户进行身份验证的解决方案: /** * Logs into BusinessObjects. Sets the rep
.NET
中实现这一点,我(我想)有一个SAP示例,但我似乎找不到类似的Java
解决方案。(请参阅并搜索“修改.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凭据并使用这些凭据进行身份验证。然而,我似乎找不到这样做的方法。有关上述代码的文档可以在搜索“登录到服务器”中找到
注意:我可能在这件事上完全错了。我的组织对Active Directory和LDAP身份验证使用相同的凭据。如果有一种方法可以使用LDAP实现这一点,那就足够了。谢谢。答案假定您已为用户设置了Active Directory和/或LDAP身份验证,并且用户具有该身份验证方法的别名。这应该可以通过登录InfoView进行验证 您应该能够通过使用credential.setAuthType(authType)来完成此操作。
authType在哪里
- “secEnterprise”默认值
- “secLDAP”
- “secWinAD”
重要编辑:文档(这对BusinessObjects来说很糟糕,任何阅读本文的人可能都知道)说,对于active directory,您使用“secAD”。然而,在我的测试中,我能够成功地使用“secWinAD”进行身份验证,这在他们的文档中根本没有出现:-/(我可以找到)。谢谢!LDAP工作正常,但Active Directory不工作。我正在调查这个问题,但你找到了一个很好的解决方案。再次感谢:)由于某些原因,我无法编辑您的答案,但我发现了一些对未来用户有用的东西。他们的文档用于。它们有不同的
secActiveDirectory
(它们使用secAD
)。但这仍然不起作用,所以我正在研究它。添加了一个credential.setDomain(“mydomain.org”)代码>行,它使线程挂起并最终超时。我猜这就是应该怎么做的,我有一个Active Directory问题…我用“secWinAD”解决了这个问题。不幸的是,文档中根本没有这一点。希望这个答案能在将来帮助人们!