Considering that the WebLogin snippet was originally an Etomite MODx extension (Etomite did not have web user validation, only manager validation) and that WebLoginPE is a completely different application that just happens to use the same database (with extra tables), I don’t see why it would be so difficult to write a weblogin snippet to connect to an LDAP server instead.
http://www.devshed.com/c/a/PHP/Using-PHP-With-LDAP-part-1/
And a module to manage it would not be any more difficult. Simply ignore the MODx web user system. I’m not refering to the group management system. You would need a way to specify which group the user belongs to, so perhaps some of the MODx web user management structure could be included. But the validation part, the password checking stuff, would go to the LDAP server instead of the the MODx tables. Same with registering a new user, the username and password would go to the LDAP server.
All that happens when a web user is validated is that a bunch of stuff is set up in the SESSION, it doesn’t care where it comes from. The various MODx user functions all refer to the SESSION anyway.
http://www.sottwell.com/article-sessions.html
I would suspect that the same would apply to manager users; the roles and groups would stay with MODx, but the username/password validation would go to the LDAP server instead (onBeforeManagerLogin event).
Actually... looking at the events available to manager user handling and web user handling, it wouldn’t need any changes at all to the existing MODx user management, it just needs a single plugin to use the events to send the user data to the LDAP server, and if all goes well there, continue with the MODx processing; otherwise return to the MODx page with an error message. Hmmm... Interesting.