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
%LDAP{"(objectClass=posixAccount)"
base="(ou=people)"
limit="10"
header="|
Nr |
Name |
Mail |
Photo |$n"
format="| $index | $cn | $mail |

|"
footer="$n
$count users"
sort="cn"
clear="$mail,$jpegPhoto"
}%
%LDAP{"(objectClass=posixGroup)"
base="(ou=group)"
limit="10"
header="|
Nr |
Group |
Members |$n"
format="| $index | $cn | $memberUid |"
clear="$mail,$memberUid"
sort="cn"
}%
%LDAPUSERS{limit="10"}%
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