0

We are using LDAP Authentication with Moqui using Shiro, and we are able to successfully authenticate on LDAP, however we also want to provide self-service ChangePassword / Reset Password to the users using Moqui Frontend.

We find that Shiro integration is READONLY and unable to update LDAP password using Moqui - LDAP Integration using Shiro, Even with Shiro - LDAP Configuration enabled, Moqui Change Password / Reset Password updates the Moqui database and not LDAP. Perhaps this is by-design.

We were able to create Java Service using Apache Directory Service using LDAP Api to change or reset LDAP password and are able to test standalone service using moqui tutorial project, And we want to integrate that service with Moqui OOTB Change Password and Reset Password screens

I come from Ofbiz background and familiar with Extending an existing component to override the service without making code changes in the Shipped Components as outlined in below wiki page . I really liked that idea https://cwiki.apache.org/confluence/display/OFBIZ/Addressing+Custom+Requirements+In+OFBiz

Is there an equivalent to "Extending an Existing Component" in Moqui, Online Tutorial does not seem to cover this, the online tutorial deals with creating a new component AFAIK. Pls share some pointers

Also if there is another way to solve this, i'm open to ideas.

1 Answers1

0

Because of the Screen Tree concept in Moqui there is no need for a 'component' to be mounted by name in the URL path, that concept doesn't exist in Moqui. There is instead a root screen and in your component you can inject screens wherever you'd like in that tree.

Docs:

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

Example Components (actual apps, but thin wrappers around SimpleScreens screens they reuse so fairly simple):

https://github.com/moqui/PopCommerce

https://github.com/moqui/HiveMind

David E. Jones
  • 1,721
  • 1
  • 9
  • 8
  • Tnx David,Still trying to wrap my head around this, Need to switch from Moqui Auth to Open Ldap -Use the existing Login screen as it works perfectly with OpenLDAP using Shiro Configuration -Override "service" implementation for ChangePassword and Reset Password to switch from Moqui Auth to OpenLDAP Auth. With Ofbiz, i ended up creating a custom component and override controller.xml and override with new service implementation, but could reuse the existing screens by inheriting the view-map from parent component. how does this map to moqui implementation. Appreciate any pointers. – Integrin Solutions Jan 10 '20 at 01:52
  • I'm not able to follow what you were trying to do, but it sounds like you want different behavior on the Login screen. It is fairly easy to replace the OOTB Login.xml screen use one of the 4 subscreens mechanisms (the component MoquiConf.xml file is generally the best approach) so that your Login screen is used. If overrides via SECA rule or service replace are not adequate that is the next step up the stack (ie UI layer). – David E. Jones May 18 '20 at 16:28
  • David, we did in fact ended up creating a new Login Screen, thanks for endorsing that approach for this use case. – Integrin Solutions May 20 '20 at 00:11