1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162
|
Ruby/LDAP -- ruby extension library for LDAP
Copyright (C) 2000,2001,2002 Takaaki Tateishi <ttate@kt.jaist.ac.jp>
DESCRIPTION
'Ruby/LDAP' is a ruby extension library which provides the interface to LDAP
API described in RFC1823.
REQUIREMENT
Ruby 1.6.0 or later
OpenLDAP, NetscapeSDK, Windows2000(or ADSI)
PORTS
FreeBSD ("Akinori -Aki- MUSHA" <knu@idaemons.org>)
Debian (Akira Yamada <akira@ruby-lang.org>)
BUILDING
extconf.rb try to use OpenLDAP2 or NetscapeSDK libraries, and guess paths to
some header files and libraries from the position of 'ldap.h'. If you'd like to
see available options for extconf.rb, run it with '--help' option.
$ ruby extconf.rb [--with-openldap1|--with-openldap2|--with-netscape|--with-wldap32]
$ make
you will get 'ldap.so', and copy it to somewhere you like or do 'make install'.
If you has a binary distribution, execute install.rb as follows:
$ ruby install.rb
LICENSE
At present, I don't consider what license I apply to this module. But I will
not claim the payment forever.
AVAILABLE CLASSES and METHODS
LDAP::LDAP_VERSION
LDAP::LDAP_MAX_VERSION
LDAP::VERSION
LDAP::MAJOR_VERSION
LDAP::MINOR_VERSION
LDAP::LDAP_PORT
LDAP::LDAPS_PORT
LDAP::LDAP_API_INFO_VERSION
LDAP::LDAP_VENDOR_NAME
LDAP::LDAP_VENDOR_VERSION
LDAP::LDAP_API_VERSION
LDAP.err2string(errcode)
LDAP.dn2ufn(dn)
LDAP.mod(mod_op, mod_type, mod_vals) (= LDAP::Mod.new)
LDAP.hash2mods(mod_op, hash)
LDAP.entry2hash(entry) (= entry.to_hash)
LDAP::Conn.new(host = "localhost", port = LDAP::LDAP_PORT) : conn (raise
LDAP::Error)
LDAP::Conn.open(host = "localhost", port = LDAP::LDAP_PORT) : conn (raise
LDAP::Error)
LDAP::Conn#simple_bind(dn = nil, password = nil){ ... } : conn (raise
LDAP::ResultError)
LDAP::Conn#bind(dn = nil, password = nil, method = LDAP::LDAP_AUTH_SIMPLE)
{|conn| ... } (raise LDAP::ResultError)
LDAP::Conn#bind(dn = nil, password = nil, method = LDAP::LDAP_AUTH_SIMPLE)
: conn (raise LDAP::ResultError)
LDAP::Conn#unbind (raise LDAP::ResultError)
LDAP::Conn#perror(str)
LDAP::Conn#result2error(ldap_msg) : errcode
LDAP::Conn#err2string(errcode) : errmsg
LDAP::Conn#get_errno : errcode [if available]
LDAP::Conn#search(basedn, scope, filter, attrs = nil, attrsonly = false,
sec = 0, usec = 0, s_attr = nil, s_proc = nil){|entry| ... } : conn (raise
LDAP::ResultError)
LDAP::Conn#search2(basedn, scope, filter, attrs = nil, attrsonly = false,
sec = 0, usec = 0, s_attr = nil, s_proc = nil){|entry_as_hash| ... } : conn
(if a block is given) / Array of Hash (if no block is given) (raise LDAP::
ResultError)
LDAP::Conn#add(dn, ldap_mods) : self (raise LDAP::ResultError)
LDAP::Conn#modify(dn, ldap_mods) : self (raise LDAP::ResultError)
LDAP::Conn#modrdn(olddn, newdn, delete) : self (raise LDAP::ResultError)
LDAP::Conn#delete(dn) : self (raise LDAP::ResultError)
LDAP::Conn#set_option(opt, data) : self [experimental] (raise LDAP::
ResultError)
LDAP::Conn#get_option(opt) : data [experimental] (raise LDAP::ResultError)
LDAP::Mod.new(mod_op, mod_type, mod_vals) : ldap_mod
LDAP::Mod#mod_op : mod_op
LDAP::Mod#mod_type : mod_type
LDAP::Mod#mod_vals : mod_vals
LDAP::Mod#mod_op=(mod_op)
LDAP::Mod#mod_type=(mod_type)
LDAP::Mod#mod_vals=(mod_vals)
LDAP::Entry#get_dn : dn
LDAP::Entry#get_values : vals
LDAP::Entry#get_attributes : attrs
LDAP::Entry#dn (= get_dn)
LDAP::Entry#vals (= vals)
LDAP::Entry#attrs (= get_attributes)
LDAP::Entry#to_hash : Hash
In ldap/schema.rb:
LDAP::Conn#schema(attrs = nil, sec = 0, usec = 0) : schema
LDAP::Schema#must(oc) : attributes
LDAP::Schema#may(oc) : attributes
LDAP::Schema#names(attr) : names
see also test/*.rb for examples.
REFERENCES
T. Howes, M. Smith (University of Michigan): RFC1823, The LDAP Application
Program Interface, August 1995
The OpenLDAP Project: OpenLDAP 2.0 Administrator's Guide, September 2000
T. Howes (University of Michigan): RFC1960, A String Representation of LDAP
Search Filters, June 1996
M. Wahl, Critical Angle Inc, T. Hows, Netscape Communications Gorp., S.
Kille, Isode Limited: Lightweight Directory Access Protocol (v3), December
1997
M. Wahl, Critical Angle Inc., A. Coulbeck, Isode Inc., T. Howes, Netscape
Communications Corp., S. Kille, Isode Limited: December 1997
M .Wahl, Critical Angle Inc., S. Kille, Isode Ltd., T. Howes, Netscape
Communications Corp.: Lightweight Directory Access Protocol (v3): UTF-8
String Representation of Distinguished Names, December 1997
T. Howes, Netscape Communications Gorp.: The String Representation of LDAP
Search Filters, December 1997
F. Yergeau (Alis Technologies): RFC2279, UTF-8, a transformation format of
ISO 10646, October 1998
Netscape Communications Corp.: Netscape Directory SDK
Luiz Ernesto Pinheiro Malere: LDAP Linux HOWTO, February 2000
Tim Howes, Mark Smith: Understanding and Deploying LDAP Directory Servers
Here are the URLs that contain usefull informations about LDAP:
University of Michigan
http://www.umich.edu/~dirsvcs/ldap/
OpenLDAP Project
http://www.openldap.org/
Netscape Communications
http://developer.netscape.com/docs/manuals/communicator/ldap45.htm
Netscape Directory SDK
http://www.mozilla.org/directory/
Active Directory Service Interfaces Overview
http://www.microsoft.com/windows2000/techinfo/howitworks/activedirectory/
adsilinks.asp
LDAP schema repository
http://www.hklc.com/ldapschema/
http://ldap.hklc.com/
Object Identifiers Registry
http://www.alvestrand.no/harald/objectid/
|