Tags:
database2Add my vote for this tag ldap4Add my vote for this tag users1Add my vote for this tag create new tag
, view all tags

LdapNgPlugin

Query and display data from an LDAP directory

Introduction

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..." ... }%
%LDAP{ filter="...filter..." ... }%
Query an LDAP directory.

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 | \"$cn\" |" 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

  • Run configure for automated install, or do a manual install:
  • Download the ZIP file from the Plugin web (see below)
  • Unzip LdapNgPlugin.zip in your twiki installation directory. Content:
    File: Description:
    data/TWiki/LdapNgPlugin.txt  
    lib/TWiki/Plugins/LdapNgPlugin/Core.pm  
    lib/TWiki/Plugins/LdapNgPlugin.pm  

  • 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.
  • Visit configure in your TWiki installation, and enable the plugin in the {Plugins} section.
  • Dependencies:
    NameVersionDescription
    TWiki::Plugins>=1.1TWiki Dakar release.
    TWiki::Contrib::LdapContrib>=2.0Required
    Unicode::MapUTF8>=1.11Required. Download from CPAN:Unicode::MapUTF8

Plugin Info

This work was partly funded by Spanlink Communications.

Plugin Author: TWiki:Main.MichaelDaum
Copyright: © 2006-2007 Michael Daum http://wikiring.de
© 2006-2010 TWiki:Main.TWikiContributors
License: GPL (GNU General Public License)
Plugin Version: 2011-01-14
Change History:  
2011-01-14: TWikibug:Item6530: Doc improvements
2010-04-25: TWikibug:Item6433: Doc improvements
13 Nov 2007: fixed $nop
01 Oct 2007: added LDAPUSERS, lined up to changes in LdapContrib-2.0
04 June 2007: don't convert from/to utf8 if the site charset is already utf8
18 Dec 2006: added support for addresses as specified in RFC4517
04 Dec 2006: map utf8 strings from LDAP to the site's encoding and vice versa
30 Nov 2006: replaced commonTagsHandler with a properly registered LDAP tag
31 Aug 2006: added NO_PREFS_IN_TOPIC
19 Jul 2006: public release
25 April 2006: Initial (internal) version
Perl Version: 5.8
TWiki:Plugins/Benchmark: GoodStyle nn%, FormattedSearch nn%, LdapNgPlugin nn%
Plugin Home: TWiki:Plugins/LdapNgPlugin
Feedback: TWiki:Plugins/LdapNgPluginDev

Related Topics: TWikiPreferences, TWikiPlugins, LdapContrib

Topic attachments
I Attachment Action Size Date Who Comment
Unknown file formatmd5 LdapNgPlugin.md5 manage 0.2 K 2011-01-15 - 04:56 PeterThoeny  
Compressed Zip archivetgz LdapNgPlugin.tgz manage 7.1 K 2011-01-15 - 04:56 PeterThoeny  
Compressed Zip archivezip LdapNgPlugin.zip manage 9.5 K 2011-01-15 - 04:56 PeterThoeny  
Unknown file formatEXT LdapNgPlugin_installer manage 3.6 K 2011-01-15 - 04:56 PeterThoeny  
Topic revision: r15 - 2011-08-23 - PeterThoeny
 
Twitter Delicious Facebook Digg Google Bookmarks E-mail LinkedIn Reddit StumbleUpon    
  • Download TWiki
TWiki logo Powered by PerlIdeas, requests, problems regarding TWiki? Send feedback. Ask community in the support forum.
Copyright © 1999-2012 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.