Ich habe eine Verbindung zu Active Directory über LDAP/net hergestellt. Ich versuche, AD Attribute und Werte zu ziehen.Encoding :: CompatibilityError in Beobachtungen beim Zugriff auf Active Directory von Schienen
Wenn ich den folgenden Code (mit values.inspect) verwenden, funktioniert die Abfrage.
<% @temp_search.each do |user| %>
TS = <%= user.sn %> <br>
<% user.each do |attribute, values| %>
<%= attribute %> <br>
<% values.each do |value| %>
<%= value.inspect %><br>
<% end %>
<hr style="border-color: red">
<% end %>
<% end %>
Der Teil meiner Controller die LDAP-Abfrage zu tun ist s
filter = Net::LDAP::Filter.eq("sn", "mendla")
treebase = "dc=ccttapes1,dc=com"
@temp_search = ldap.search(:base => treebase, :filter => filter)
p ldap.get_operation_result
Was kann ich nicht auf scheinen, ist nur den Wert für ein bestimmtes Attribut zu erhalten - zum Beispiel, given.
Ich sehe Ergebnisse wie
cn
"Chris G. Mendla"
sn
"Mendla"
description
"Test account 1 for rails apps - DO NOT CHANGE PW"
givenname
"Chris"
initials
"G"
distinguishedname
"CN=Chris G. Mendla,OU=Users CCT,DC=CCTTAPES1,DC=com"
Wenn ich jedoch <%= value.inspect %><br>
-<%= value.givenname %><br>
ich einen Fehler von
NoMethodError in Observations#index
Showing C:/Users/cmendla/RubymineProjects/employee_observations/app/views/observations/index.html.erb where line #61 raised:
undefined method `givenname' for "CN=Christopher Mendla,OU=Users CCT,DC=CCTTAPES1,DC=com":Net::BER::BerIdentifiedString
Rails.root: C:/Users/cmendla/RubymineProjects/employee_observations
Application Trace | Framework Trace | Full Trace
app/views/observations/index.html.erb:61:in `block (3 levels) in _app_views_observations_index_html_erb__474218211_78240600'
app/views/observations/index.html.erb:60:in `each'
app/views/observations/index.html.erb:60:in `block (2 levels) in _app_views_observations_index_html_erb__474218211_78240600'
app/views/observations/index.html.erb:58:in `block in _app_views_observations_index_html_erb__474218211_78240600'
app/views/observations/index.html.erb:56:in `each'
app/views/observations/index.html.erb:56:in `_app_views_observations_index_html_erb__474218211_78240600'
erhalten ändern und wenn ich versuche, `` <% = givenname.value%> `Ich bekomme
NameError in Observations#index
Showing C:/Users/cmendla/RubymineProjects/employee_observations/app/views/observations/index.html.erb where line #61 raised:
undefined local variable or method `givenname' for #<#<Class:0x9cd0230>:0x9fadaf0>
Rails.root: C:/Users/cmendla/RubymineProjects/employee_observations
Application Trace | Framework Trace | Full Trace
app/views/observations/index.html.erb:61:in `block (3 levels) in _app_views_observations_index_html_erb__474218211_83715540'
app/views/observations/index.html.erb:60:in `each'
app/views/observations/index.html.erb:60:in `block (2 levels) in _app_views_observations_index_html_erb__474218211_83715540'
app/views/observations/index.html.erb:58:in `block in _app_views_observations_index_html_erb__474218211_83715540'
app/views/observations/index.html.erb:56:in `each'
app/views/observations/index.html.erb:56:in `_app_views_observations_index_html_erb__474218211_83715540'
Request
Mein Ziel ist es, in der Lage sein, für eine AD r suchen Zeichne mit Vor- und Nachnamen auf und ziehe Werte für Attribute wie mail oder memberof.
(Ich bin mit ldap-net