LdapNgPlugin
This plugin provides an interface to query an LDAP directory and display the results in a TWiki topic.
It is a complete rewrite of the
TWiki:Plugins/LdapPlugin by
TWiki:Main.GerardHickey to provide
greater flexibility and performance based on the
TWiki:Plugins/LdapContrib package.
Syntax Rules
LDAP
%LDAP{(filter=)"filter" ...}%
Query an LDAP directrory.
Parameters:
-
filter: the LDAP query string
-
host: host IP or name to connect to
-
port: port to of the host
-
version: protocol version; possible values: 2,3
-
ssl: use ssl to bind to the server; possible values 0,1
-
base: base dn of the (sub)tree to search in; if base is written in brackets (e.g. 'base="(ou=people)"') then it is prepended to the default base of the LdapContrib
-
scope: scope of search; possible values: sub, base, one
-
format: format string used to display a database record
-
header: header to prepend the output; default: '$dn'
-
footer: footer to appended to the output
-
sep: separator between database records; default: '$n'
-
sort: name of attributes to sort the output
-
reverse: reverse the result set; possible values: on, off; default: off
-
limit: maximum number of records to return; default: 0 (unlimited)
-
skip: number of records in the hit set to skip before displaying them; default: 0
-
hidenull: wether to hide any output on an empty hit set; possible values: on, off; default: off
-
clear: comma separated list of attributes to be removed from the output if they are not resolved
Cgi Parameters:
-
refresh: refresh the cache of blobs (i.e. jpegPhotos); possible values: on, off; default: off; (right now only the jpegPhoto attribute is recognized as a blob)
The
header,
format and
footer format strings may contain the following variables:
- $percnt: % sign
- $dollar: $ sign
- $n: newline
- $count: the number of hits
- $index: the record number
- $<attr-name>: the value of the record attribute <attr-name>
LDAPUSERS
%LDAPUSERS{...}%
List all LDAP userinformation. Information is drawn from cache and not from
the LDAP server. Use
?refreshldap=on to update.
Parameters:
-
format: format string used to display a user record
-
header: header to prepend the output
-
footer: footer to appended to the output
-
sep: separator between database records; default: '$n'
-
limit: maximum number of records to return; default: 0 (unlimited)
-
skip: number of records in the hit set to skip before displaying them; default: 0
-
include: regular expression a user's WikiName must match to be included in the output
-
exclude: regular expression a user's WikiName must not match
-
hideunknown: on/off, enable/disable filtering out users that did not log in yet and thus have no hometopic (e.g. created by TWiki:Plugins/NewUsersPlugin), defaults to 'on'
The
format string may contain the following variables:
- $percnt: % sign
- $dollar: $ sign
- $n: newline
- $index: the record number
- $wikiName: the user's WikiName
- $loginName: the user's login name
- $displayName: a link pointing to the users hometopic in the Main web, if it exists, and '<nop>$wikiName' otherwise
- $emails: the list of all known email addresses
Examples
ERROR: 34: invalid DN
ERROR: 34: invalid DN
Plugin Settings
The
LdapNgPlugin will use the default configuration of the
LdapContrib in your
LocalSite.cfg file, that is
- $TWiki::cfg{Ldap}{Host} (overridable per query)
- $TWiki::cfg{Ldap}{Port} (overridable per query)
- $TWiki::cfg{Ldap}{Base} (overridable per query)
- $TWiki::cfg{Ldap}{Version} (overridable per query)
- $TWiki::cfg{Ldap}{SSL} (overridable per query)
- $TWiki::cfg{Ldap}{BindDN}
- $TWiki::cfg{Ldap}{BindPasswd}
Plugin Installation Instructions
- Download the ZIP file from the Plugin web (see below)
- Unzip
LdapNgPlugin.zip in your twiki installation directory. Content:
%$MANIFEST%
- Optionally, run
LdapNgPlugin_installer.pl to automatically check and install other TWiki modules that this module depends on. You can also do this step manually.
- Alternatively, manually make sure the dependencies listed in the table below are resolved.
%$DEPENDENCIES%
Plugin Info
This work was partly funded by Spanlink Communications.
--
TWiki:Main/MichaelDaum - 13 Nov 2007