0

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

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

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

4

1 回答 1

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);

于 2012-04-20T11:50:05.080 回答