Проверьте пользовательский атрибут LDAP в OpenAM 13

Я использую OpenAM 13, чтобы предоставить возможности единого входа для набора приложений. Сама аутентификация обеспечивается LDAP, поскольку существует существующее хранилище LDAP, используемое другими приложениями, выходящим за рамки этого единого входа.

Пользовательский атрибут с именем userattrib1 был добавлен в запись LDAP для каждого пользователя. Если для этого атрибута установлено значение 999, пользователю не разрешается входить в систему единого входа, при всех других значениях вход разрешен. Я понимаю, что это необычная установка, однако это часть уже существующего приложения.

Как мне настроить OpenAM 13 для поддержки этой проверки? Я бы не хотел выполнять эту проверку в приложениях для конечных пользователей, поскольку есть несколько приложений, в которые мне пришлось бы добавить проверку.


person Mahesh    schedule 14.12.2016    source источник


Ответы (1)


Если используется модуль аутентификации LDAP, вы можете указать фильтр поиска пользователя, чтобы использовать настраиваемый атрибут.

Однако НЕ поисковые фильтры, такие как

userattrib1 != 999

обычно приводит к неиндексному поиску и не может быть использован на самом деле, вместо этого вы должны проверить, сколько у вас различных «проходящих» значений, а затем использовать это в составном фильтре, например

(|(userattrib1=123)(userattrib1=124)(userattrib1=125)(userattrib1=126))

потенциально вы можете даже «группировать» значения, чтобы использовать фильтр подстроки, например

userattrib1=12*

в зависимости от используемого фильтра вам нужен индекс равенства или/и индекс подстроки, настроенный для атрибута userattrib1

person Bernhard Thalmayr    schedule 15.12.2016