javaee,Weblogic,LDAP身份验证器

时间:2012-04-11 11:06:33

标签: java-ee ldap weblogic

我使用WebLogic配置LDAP身份验证器,如下所示: Weblogic控制台 - >安全领域 - > myrealm - >提供者 - >新的 - >类型:ActiveDirectoryAuthenticator ... 并设置用户名属性= sAMAccountName。 然后,我的应用程序通过调用httpServletRequest.getUserPrincipal.getName()来获取经过身份验证的用户的sAMAccountName。

但是,这只返回字符串(sAMAccountName)。 是否可以获取经过身份验证的用户的完整LDAP帐户(javax.naming.directory.SearchResult或类似) 直接来自httpServletRequest?

ps:我知道我可以使用基于sAMAccountName的额外LDAP查询来获取用户的完整LDAP帐户, 但这需要不必要的第二次LDAP查询,并且还要将LDAP配置从Weblogic复制到我的应用程序中。

1 个答案:

答案 0 :(得分:1)

您可以使用OPSS用户&角色API。它们将与Active Directory一起使用。

http://docs.oracle.com/cd/E12839_01/core.1111/e10043/devuserole.htm#BABBIGAJ

您可以使用searchUser和searchRole API直接为特定用户或角色查询身份存储:

IdentityStore.searchUser(String name);

IdentityStore.searchUser(Principal principal);