internal package Foswiki::Plugins::LdapGuiPlugin
authenticate=>1, validate=>1, http_allow=>'POST'
_modifyData
RESTHandler called when LDAP entries are going to get modified by the user form
_moveEntry
REST call to move an entry from one location inside the DIT to another
TODO: To be implemented
_addData
REST call to add data to the LDAP server
TODO: If we can add Users, we should add users to groups too, see if LDAPmodify could so this
TODO: Generalize, so that the handler actually just has to call a more abstract subroutine
_isValidEntry
look if the entry we created matches required attributes of its objectclasses
TODO: Rewrite this function so that it only uses the
LdapUtil object
_mergeArrays (@1,@2) -> @(1++2)
_createNewEntry ($attributes, $dn, $objectClasses) -> $entry
Takes the attributes parsed by
RequestData, a dn and objectClasses and creates a new entry object.
_writeLDIF
For debug purposes or a messy kind of logger function. If this gets used as a logger the password attributes should get removed or ignored before writing the ldif to the file system.
_jsonRegexp
just a helper function, will get removed
LDAP Trigger API
The trigger API could provide a way to trigger events depending on a form action without apache being run as root.
Therefore a stable well defined API is needed which is able to pass needed information to the instance which is triggering the external events.
Example workflow:
----------------
----------------
|
RequestData
| Options + {trigger option}
| web/topic
---------------- ----------
| |
----{RequestData,Options}----> |
LDAP |
| LdapGuiPlugin |
|
|
| ---------- |
<---------Response------------ |
|
--
TriggerAPI -- ----------
| daemon IP |
| cfg{workflows} |
| trigger option |
| web/topic |
----------------
|{RequestData+scriptname+userid}
|
---------------
|
HttpDaemon |---{params}--->SCRIPT AS USERID
---------------