Moqui сбрасывает или меняет пароль LDAP, когда Moqui использует аутентификацию LDAP с помощью Shiro

Мы используем аутентификацию LDAP с Moqui с использованием Shiro, и мы можем успешно пройти аутентификацию по LDAP, однако мы также хотим предоставить пользователям, использующим Moqui Frontend, самообслуживание ChangePassword / Reset Password.

Мы обнаружили, что интеграция Shiro доступна ТОЛЬКО ДЛЯ ЧТЕНИЯ и не может обновить пароль LDAP с помощью Moqui - Интеграция LDAP с использованием Shiro. Даже с включенной конфигурацией Shiro - LDAP, Moqui Change Password / Reset Password обновляет базу данных Moqui, а не LDAP. Возможно, это намеренно.

Мы смогли создать службу Java с помощью службы каталогов Apache с использованием LDAP Api для изменения или сброса пароля LDAP и можем протестировать автономную службу с помощью учебного проекта moqui, и мы хотим интегрировать эту службу с экранами изменения пароля и сброса пароля Moqui OOTB.

Я работаю в Ofbiz и знаком с расширением существующего компонента для переопределения службы без внесения изменений кода в поставляемые компоненты, как описано на вики-странице ниже. Мне очень понравилась эта идея https://cwiki.apache.org/confluence/display/OFBIZ/Addressing+Custom+Requirements+In+OFBiz

Есть ли в Moqui эквивалент «Расширение существующего компонента», онлайн-учебник, похоже, не охватывает этого, он-лайн учебник посвящен созданию нового компонента AFAIK. Пожалуйста, поделитесь некоторыми указателями

Также, если есть другой способ решить эту проблему, я открыт для идей.


person Integrin Solutions    schedule 08.01.2020    source источник


Ответы (1)


Из-за концепции дерева экранов в Moqui нет необходимости монтировать «компонент» по имени в пути URL, такой концепции в Moqui нет. Вместо этого есть корневой экран, и в вашем компоненте вы можете вставлять экраны в любое место этого дерева.

Документы:

https://www.moqui.org/m/docs/framework/User+Interface/XML+Screen

Примеры компонентов (настоящие приложения, но тонкие оболочки вокруг экранов SimpleScreens, которые они повторно используют, так что довольно просто):

https://github.com/moqui/PopCommerce

https://github.com/moqui/HiveMind

person David E. Jones    schedule 09.01.2020
comment
Tnx Дэвид, все еще пытаюсь обдумать это, нужно переключиться с Moqui Auth на Open Ldap -Используйте существующий экран входа в систему, так как он отлично работает с OpenLDAP, используя конфигурацию Shiro -Отменить сервисную реализацию для ChangePassword и Reset Password, чтобы переключиться с Moqui Auth в OpenLDAP Auth. С Ofbiz я закончил тем, что создал пользовательский компонент и переопределил controller.xml и переопределил ‹request-map› с новой реализацией службы, но мог повторно использовать существующие экраны, унаследовав карту вида от родительского компонента. как эта карта соответствует реализации moqui. Цените любые указатели. - person Integrin Solutions; 10.01.2020
comment
Я не могу следить за тем, что вы пытались сделать, но похоже, что вам нужно другое поведение на экране входа в систему. Достаточно легко заменить экран OOTB Login.xml, используя один из 4 механизмов подэкрана (как правило, лучше всего подходит файл MoquiConf.xml компонента), чтобы использовать экран входа в систему. Если переопределения с помощью правила SECA или замены службы неадекватны, это следующий шаг вверх по стеку (т. Е. На уровне пользовательского интерфейса). - person David E. Jones; 18.05.2020
comment
Дэвид, мы фактически закончили тем, что создали новый экран входа в систему, спасибо за поддержку такого подхода для этого варианта использования. - person Integrin Solutions; 20.05.2020