Цепочка авторизации OpenAM, которая позволяет входить только для администраторов? - PullRequest
0 голосов
/ 02 марта 2020

Сценарий:

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

Я также настроил другую цепочку, называемую adminChain, и настроил ее как цепочку авторизации администратора с один модуль Data Store, позволяющий пользователю amAdmin войти в систему с помощью /console url.

Проблема:

Моя проблема заключается в том, что эта вторая цепочка также допускает не-администратора пользователи из хранилища данных LDAP для входа в систему, что на самом деле имеет смысл, поскольку использует модуль DataStore. Но тогда как я могу запретить обычным пользователям входить в систему с помощью цепочки администраторов? Я хочу, чтобы они были ограничены только определенной цепочкой c.

1 Ответ

1 голос
/ 03 марта 2020

Вы должны использовать область root для администрирования и под-область для операций.

Фактически OpenAM будет использовать все сконфигурированные хранилища пользовательских данных в области, когда он настроен для поддержки запрошенной операции.

В качестве обходного пути вы можете установить значение Authentication Naming Attribute в конфигурации хранилища пользовательских данных для атрибута, который не существует в записях. Это приведет к сбою аутентификации хранилища данных для обычных пользователей. AmAdmin все еще может проходить аутентификацию, поскольку эта идентификационная информация хранится в специальном хранилище данных, которое не отображается в конфигурации OpenAM.

Имейте в виду, что вы можете быть подвержены ошибке, так как в более старых версиях DN-Cache используется. во время аутентификации.

...