class URI::LDAP
Constants
- COMPONENT
- DEFAULT_PORT
-
Ein Standardport von 389 für
URI::LDAP. - SCOPE
-
Gültige Scopes für den Ausgangspunkt.
-
SCOPE_BASE - die Base DN
-
SCOPE_ONE - eine Ebene unter der Base DN, ohne die Base DN und ohne Einträge darunter
-
SCOPE_SUB - Unterbäume, alle Einträge auf allen Ebenen
-
Öffentliche Klassenmethoden
Source
# File lib/uri/ldap.rb, line 74 def self.build(args) tmp = Util::make_components_hash(self, args) if tmp[:dn] tmp[:path] = tmp[:dn] end query = [] [:extensions, :filter, :scope, :attributes].collect do |x| next if !tmp[x] && query.size == 0 query.unshift(tmp[x]) end tmp[:query] = query.join('?') return super(tmp) end
Beschreibung
Erstellt ein neues URI::LDAP Objekt aus Komponenten, mit Syntaxprüfung.
Die akzeptierten Komponenten sind host, port, dn, attributes, scope, filter und extensions.
Die Komponenten sollten entweder als Array oder als Hash mit Schlüsseln bereitgestellt werden, die durch Voranstellen eines Doppelpunkts vor die Komponentennamen gebildet werden.
Wenn ein Array verwendet wird, müssen die Komponenten in der Reihenfolge [host, port, dn, attributes, scope, filter, extensions] übergeben werden.
Beispiel
uri = URI::LDAP.build({:host => 'ldap.example.com', :dn => '/dc=example'}) uri = URI::LDAP.build(["ldap.example.com", nil, "/dc=example;dc=com", "query", nil, nil, nil])
URI::Generic::build auf.Source
# File lib/uri/ldap.rb, line 108 def initialize(*arg) super(*arg) if @fragment raise InvalidURIError, 'bad LDAP URL' end parse_dn parse_query end
Beschreibung
Erstellt ein neues URI::LDAP Objekt aus generischen URI Komponenten gemäß RFC 2396. Es wird keine LDAP-spezifische Syntaxprüfung durchgeführt.
Argumente sind scheme, userinfo, host, port, registry, path, opaque, query und fragment, in dieser Reihenfolge.
Beispiel
uri = URI::LDAP.new("ldap", nil, "ldap.example.com", nil, nil, "/dc=example;dc=com", nil, "query", nil)
Siehe auch URI::Generic.new.
URI::Generic::new auf.Öffentliche Instanzmethoden
Source
# File lib/uri/ldap.rb, line 178 def attributes @attributes end
Gibt Attribute zurück.
Source
# File lib/uri/ldap.rb, line 191 def attributes=(val) set_attributes(val) val end
Setter für Attribute val.
Source
# File lib/uri/ldap.rb, line 172 def dn=(val) set_dn(val) val end
Setter für DN val.
Source
# File lib/uri/ldap.rb, line 235 def extensions @extensions end
Gibt Extensions zurück.
Source
# File lib/uri/ldap.rb, line 248 def extensions=(val) set_extensions(val) val end
Setter für Extensions val.
Source
# File lib/uri/ldap.rb, line 229 def filter=(val) set_filter(val) val end
Setter für Filter val.
Source
# File lib/uri/ldap.rb, line 255 def hierarchical? false end
Source
# File lib/uri/ldap.rb, line 210 def scope=(val) set_scope(val) val end
Setter für Scope val.
Geschützte Instanzmethoden
Source
# File lib/uri/ldap.rb, line 183 def set_attributes(val) @attributes = val build_path_query @attributes end
Privater Setter für Attribute val.
Source
# File lib/uri/ldap.rb, line 164 def set_dn(val) @dn = val build_path_query @dn end
Privater Setter für DN val.
Source
# File lib/uri/ldap.rb, line 240 def set_extensions(val) @extensions = val build_path_query @extensions end
Privater Setter für Extensions val.
Source
# File lib/uri/ldap.rb, line 221 def set_filter(val) @filter = val build_path_query @filter end
Privater Setter für Filter val.
Source
# File lib/uri/ldap.rb, line 202 def set_scope(val) @scope = val build_path_query @scope end
Privater Setter für Scope val.
Private Instanzmethoden
Source
# File lib/uri/ldap.rb, line 146 def build_path_query @path = '/' + @dn query = [] [@extensions, @filter, @scope, @attributes].each do |x| next if !x && query.size == 0 query.unshift(x) end @query = query.join('?') end
Private Methode zur Zusammenstellung von query aus attributes, scope, filter und extensions.
Source
# File lib/uri/ldap.rb, line 120 def parse_dn raise InvalidURIError, 'bad LDAP URL' unless @path @dn = @path[1..-1] end
Private Methode zur Bereinigung von dn unter Verwendung der path Komponenteattribut.
Source
# File lib/uri/ldap.rb, line 128 def parse_query @attributes = nil @scope = nil @filter = nil @extensions = nil if @query attrs, scope, filter, extensions = @query.split('?') @attributes = attrs if attrs && attrs.size > 0 @scope = scope if scope && scope.size > 0 @filter = filter if filter && filter.size > 0 @extensions = extensions if extensions && extensions.size > 0 end end
Private Methode zur Bereinigung von attributes, scope, filter und extensions unter Verwendung der query Komponenteattribut.