1

コードに転送された既存のjavax.security.auth.kerberos.KerberosTicketを指定して、JavaでActive Directoryにユーザー属性を照会する方法はありますか?Ldapを使用して検索を実行したいのですが、このKerberosTicketオブジェクトを使用してLDAPにバインドする方法について混乱しています。現在、Spring-LdapとSpring-Securityを使用してActive Directoryと通信し、単純な認証クレデンシャルを使用して、ユーザー名とパスワードをバインドしてユーザーを認証し、すべての属性、役割などを取得できます。そのActiveDirectoryサーバーからのKerberosTicketこのユーザーのパスワードがわからないため、自分自身をバインドする方法がわかりました。現在、LoginContextからlogin()を呼び出して、KerberosTicketを暗号化されたJavaオブジェクトとしてコードに転送することはしていません。

4

1 に答える 1

1

LDAP 接続環境で、Context.SECURITY_AUTHENTICATION を「GSSAPI」に設定します。次に、特権アクション内に InitialLdapContext を作成します。

InitialLdapContext コンテキスト。Subject.doAs(subject, new PrivilegedAction() { public Object run() { context = new InitialLdapContext(env, null); } };

LoginContext で getSubject() を呼び出して、サブジェクト変数を取得します。env は環境です。何らかの方法で NamingException をキャッチする必要があります。新しい Windows バージョンでこれを機能させるには、レジストリエントリを設定する必要があることに注意してください。レジストリを検索します)。

于 2010-02-10T12:43:13.720 に答える