| Net::LDAP::Schema - Load and manipulate an LDAP v3 Schema |
Net::LDAP::Schema - Load and manipulate an LDAP v3 Schema
use Net::LDAP; use Net::LDAP::Schema;
# # Read schema from server # $ldap = Net::LDAP->new ( $server ); $ldap->bind ( ); $schema = $ldap->schema ( );
# # Load from LDIF # $schema = Net::LDAP::Schema->new; $schema->parse ( "schema.ldif" ) or die $schema->error;
Net::LDAP::Schema provides a means to load an LDAP schema and query it
for information regarding supported objectclasses, attributes and syntaxes.
Where a method is stated as taking the 'name or oid' of a schema item (which may be an object class, attribute or syntax) then a case-insensitive name or raw oid (object identifier, in dotted numeric string form, e.g. 2.5.4.0) may be supplied.
Each returned item of schema (eg an attribute definition) is returned in a HASH. The keys in the returned HASH are lowercased versions of the keys read from the server. Here's a partial list (not all HASHes define all keys) although note that RFC 2252 permits other keys as well:
name desc obsolete sup equality ordering substr syntax single-value collective no-user-modification usage abstract structural auxiliary must may applies aux not oc form
undef if the schema item does not
exist. NAME can be a name or an OID.
$attr_href = $schema->attribute( "attrname" );
$result = $schema->dump ( "./schema.dump" );
If no schema data is returned from directory server, the method will return undefined. Otherwise a value of 1 is always returned.
@may = $schema->may ( $oc );
# First optional attr has the name '$may[0]->{name}'
@must = $schema->must ( $oc );
Net::LDAP::Entry object or the name of a
file containing an LDIF form of the schema.
If the argument is a message result from a search,
Net::LDAP::Schema will parse the schema from the first entry
returned.
Returns true on success and undef on error.
equality,
substr, etc), return the actual rule taking into account attribute
supertypes.
the Net::LDAP manpage, the Net::LDAP::RFC manpage
Graham Barr <gbarr@pobox.com> John Berthels <jjb@nexor.co.uk>
Please report any bugs, or post any suggestions, to the perl-ldap mailing list <perl-ldap@perl.org>.
Copyright (c) 1998-2004 Graham Barr. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
| Net::LDAP::Schema - Load and manipulate an LDAP v3 Schema |