2012-07-01 3 views
1

При использовании JAAS существует ли способ указать атрибуты, возвращаемые поисковым запросом роли (группы)?Укажите атрибуты поиска группы LDAP в Jetty LdapLoginModule

Возвращаемая группа имеет около 100 тыс. Записей в атрибуте uniqueMember, который насыщает связь между сервером приложений и OpenLDAP. Поскольку для запроса нужен только атрибут cn, я хотел бы сообщить контейнеру, чтобы он запрашивал только при выполнении поиска.

В настоящее время запрос не устанавливает возвращаемые атрибуты, которые возвращают все из них.

Дев (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

Что-то серьезно ошибаетесь. Он не должен возвращать атрибуты записи группы вообще, а только CN.

Это выглядит как майора ошибка в org.eclipse.jetty.plus.jaas.spi.LdapLoginModule. Он должен установить returningAttributes свойство SearchControl на new String[]{_roleNameAttribute} в getUserRolesByDn(). Вам нужно сообщить об этом и/или исправить его самостоятельно.

Если вы используете OpenLDAP, вы можете рассмотреть возможность использования наложения memberOf. Это дает пользователю атрибут, в котором перечислены все группы, в которых он входит. Однако это не ретроспективно, и поскольку у вас уже явно есть большой каталог, у вас будет работа на ваших руках, чтобы заполнить его из существующих групп. Оверлей будет автоматически поддерживать его после установки, но только для групповых обновлений, которые будут выполнены после его установки.

+1

+1 Великолепно. Это то, что делает Stack большим. – millhouse

+0

Спасибо. Создан баг - http://jira.codehaus.org/browse/JETTY-1530 – Phil

+0

исправлено в главном файле и будет сливаться с причалом-8 в ближайшее время ... также для будущих ошибок в комментариях к классам eclipse следует открыть на bugs.eclipse.org под RT/Jetty –

Смежные вопросы