Я установил WSO2 AM (API Manager) 1.10.0 и использовал user-mgt.xml из рабочего AM 1.9.0, но теперь я не могу войти в пользовательский интерфейс администратора углерода

Я установил WSO2 AM (API Manager) 1.10.0 и использовал user-mgt.xml из рабочего AM 1.9.0, но теперь я не могу войти в пользовательский интерфейс администратора углерода.

API Manager сконфигурирован с основным пользовательским хранилищем LDAP только для чтения.

Кроме того, API Manager настроен для работы с H2 по умолчанию. Но думаю, это не повод.

Если я настраиваю API Manager со стандартным пользовательским хранилищем (без каких-либо изменений в user-mgt.xml, т. Е. Без добавления конфигурации readOnlyLdap и удаления JDBC UserStoreManager по умолчанию), вход в панель управления администратора работает нормально.

Я получил предупреждающее сообщение от wso2carbon.log:

TID: [-1234] [] [2016-07-03 05:55:54,731]  WARN {org.wso2.carbon.core.services.util.CarbonAuthenticationUtil} -  Failed Administrator login attempt 'admin[-1234]' at [2016-07-03 05:55:54,730+0000] {org.wso2.carbon.core.services.util.CarbonAuthenticationUtil}

Я внес изменения, как предлагалось в Я не могу войти в приложение панели администратора в диспетчере WSO2 API, к сожалению, это решение не сработало для меня.

В основном я установил новый WSO2 am 1.10.0, с настройками по умолчанию, все работает нормально, пока я не изменил user-mtg.xml для включения LDAP, я больше не могу войти в пользовательский интерфейс углерода / администратора. Значит, с wso2 am 1.10.0 из коробки не работает LDAP? Я выполнил инструкции по настройке LDAP, но это не сработало.

Странно то, что LDAP работает с AM 1.9.0. Есть ли разница в настройке LDAP между версиями 1.10.0 и 1.9.0?

ОБНОВИТЬ:

На данный момент я отказался от интеграции LDAP с wso2 am 1.10.0. Перешел на SAML2. Но оставьте вопрос открытым, на случай, если кто-то придумал решение, или это может помочь другим. Спасибо.


person J D    schedule 03.07.2016    source источник


Ответы (2)


Какое значение имеет свойство GetAllRolesOfUserEnabled в разделе AuthorizationManager в файле user-mgt.xml?

<AuthorizationManager class="org.wso2.carbon.user.core.authorization.JDBCAuthorizationManager">
            <Property name="AdminRoleManagementPermissions">/permission</Property>
            <Property name="AuthorizationCacheEnabled">true</Property>
            <Property name="GetAllRolesOfUserEnabled">false</Property>
        </AuthorizationManager>

Это свойство не является частью конфигурации 1.9, а в конфигурации по умолчанию 1.10 для этого параметра установлено значение false, и мы наблюдали аналогичные проблемы с входом в систему. Установка этого значения в true решила эту проблему для нас.

Джо

person jchaplin    schedule 05.07.2016
comment
Спасибо за ответ. Это было явно установлено на false, как было предложено из другого онлайн-источника: ‹Имя свойства = GetAllRolesOfUserEnabled› false ‹/Property›. Я установлю для него значение true и обновлю здесь. - person J D; 05.07.2016
comment
Я тестировал с этим параметром, установленным на true. К сожалению, у нас это не сработало. Я также повторно протестировал новый wso2 am 1.10.0 и включил ldap с этим параметром, установленным в значение true, и некоторыми необходимыми изменениями в carbon.xml (чтобы имя пользователя могло быть в формате электронной почты). Тем не менее, я не могу войти в систему, используя учетные данные LDAP или учетные данные администратора по умолчанию. Что-то отсутствует в документации WSO2 при обновлении wso2 am 1.9.0 до 1.10.0 с включенным LDAP. (Моя 1.9.0 с LDAP работает отлично. Я просто не могу обновить ее с помощью LDAP!) - person J D; 05.07.2016
comment
Хорошо, не уверен, что у меня есть другие хорошие идеи по этому поводу. Наша конфигурация немного отличается от вашей, поскольку мы используем LDAP в качестве дополнительного хранилища пользователей, а не в качестве основного. Учитывая, что у вас не было проблем в предыдущих версиях, я не вижу, как это могло бы помочь, но единственные другие предложения, которые у меня были бы, - это поиграть со значением UserNameAttribute в вашем UserStoreManager, потому что нам пришлось изменить конфигурацию по умолчанию, чтобы это работало для нас. Извините, я больше ничем не могу помочь ... Удачи. - person jchaplin; 05.07.2016

Могу дать следующие подсказки.

  1. Поскольку вы не упомянули о файле master-datasources.xml, я сомневаюсь в следующем. У вас есть внешняя база данных userstore, используемая в 1.9.0? Если да, указали ли вы 1.10.0 на ту же базу данных?

  2. В журнале четко не указано, произошел ли сбой из-за ошибки аутентификации или авторизации. Чтобы выяснить это, вам нужно включить журналы отладки для пакета org.wso2.carbon.user.core. Это можно сделать в файле repository / conf / log4j.properties и потребуется перезапуск. Затем, когда ваша следующая попытка входа в систему не удалась, она покажет вам более подробную информацию.

person Amila Maharachchi    schedule 06.07.2016
comment
1. Да, я указал на совершенно новые базы данных для wso am 1.10.0, так как данные API в любом случае не могут быть перенесены из 1.9.0. 2. Я посмотрю в следующий раз. Но сейчас я перехожу на saml2 - кстати, там тоже есть свои проблемы. В любом случае спасибо за помощь. - person J D; 06.07.2016
comment
Я думаю, вам все равно нужно указать на старую базу данных userstore. Причина в том, что хотя ваши пользователи и роли находятся в вашем LDAP, разрешения хранятся в базе данных хранилища пользователей. Я считаю, что это причина неудачи. Вы сможете узнать это, включив журналы отладки. - person Amila Maharachchi; 06.07.2016
comment
Я думал, что сценарий миграции должен с этим справиться. Это заставляет меня серьезно беспокоиться об использовании продуктов wso2: процесс миграции / обновления болезненен даже для очень близких версий, таких как wso2 am 1.9.0 до 1.10.0. В любом случае спасибо за обновление. - person J D; 08.07.2016
comment
Сначала я указал на старую базу данных, но она выдала довольно много ошибок. Позже я начал с новой установки 1.10.0. - person J D; 08.07.2016