0

次のように、WebLogic で LDAP オーセンティケーターを構成します: Weblogic コンソール -> セキュリティ レルム -> myrealm -> プロバイダー -> 新規 -> タイプ: ActiveDirectoryAuthenticator... およびユーザー名属性 = sAMAccountName を設定します。次に、私のアプリケーションは httpServletRequest.getUserPrincipal.getName() を呼び出して、認証されたユーザーの sAMAccountName を取得します。

ただし、これは文字列 (sAMAccountName) のみを返します。認証されたユーザー (javax.naming.directory.SearchResult など) の完全な LDAP アカウントを httpServletRequest から直接取得することは可能ですか?

ps: sAMAccountName に基づく追加の LDAP クエリを使用して、ユーザーの完全な LDAP アカウントを取得できることは認識していますが、これには不要な 2 つ目の LDAP クエリが必要であり、Weblogic からアプリケーションに LDAP 構成をレプリケートする必要もあります。

4

1 に答える 1

1

OPSSユーザーおよびロールAPIを使用できます。それらは Active Directory と連携します。

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

searchUser および searchRole API を使用して、特定のユーザーまたはロールの ID ストアを直接クエリできます。

IdentityStore.searchUser(String name);

IdentityStore.searchUser(Principal principal);

于 2012-04-20T11:50:05.080 に答える