0

JAASを使用する場合、ロール(グループ)検索クエリによって返される属性を指定する方法はありますか?

uniqueMember返されたグループの属性には、アプリサーバーとOpenLDAP間のリンクが飽和状態になっている約100,000のエントリがあります。クエリには属性のみが必要なので、検索cnを実行するときにのみ属性を要求するようにコンテナに指示したいと思います。

現在、クエリは返される属性を設定しておらず、すべての属性を返します。

DEV(Jetty)java.security.auth.login.configはこんな感じ

devldap {
   org.eclipse.jetty.plus.jaas.spi.LdapLoginModule required
   debug="true"
   contextFactory="com.sun.jndi.ldap.LdapCtxFactory"
   hostname="ldap-dev.example.com"
   port="389"
   bindDn="cn=Manager,dc=example,dc=com"
   bindPassword="xxxx"
   authenticationMethod="simple"
   forceBindingLogin="true"
   userBaseDn="ou=users,dc=example,dc=com"
   userRdnAttribute="uid"
   userIdAttribute="uid"
   userPasswordAttribute="userPassword"
   userObjectClass="inetOrgPerson"
   roleBaseDn="ou=groups,dc=example,dc=com"
   roleNameAttribute="cn"
   roleMemberAttribute="uniqueMember"
   roleObjectClass="groupOfUniqueNames";
   };
4

1 に答える 1

4

そこに何か深刻な問題があります。グループエントリ属性を返すのではなく、CNのみを返す必要があります。

これは、 org.eclipse.jetty.plus.jaas.spi.LdapLoginModuleの主要なバグのように見えます。のプロパティをに設定する必要があります。報告するか、自分でパッチを適用する必要があります。returningAttributesSearchControlnew String[]{_roleNameAttribute}getUserRolesByDn()

OpenLDAPを使用している場合は、memberOfオーバーレイの使用を検討できます。これにより、ユーザー自身に、メンバーであるすべてのグループをリストする属性が与えられます。ただし、これは遡及的ではありません。すでに大きなディレクトリがあることは明らかなので、既存のグループからディレクトリを作成する作業が必要になります。オーバーレイは、インストールされると自動的に維持されますが、インストール後に行われるグループ更新の場合のみです。

于 2012-07-02T00:41:40.500 に答える