皆さん!次のエラー メッセージが表示されますが、どうすればよいかわかりません。これは既知の net-ldap バグですか? 私は自分の宝石を更新しようとしましたが、すでにインターネットで詳細情報を探していました. 最初の部分は問題ありません。ldap データベースからデータを取得しますが、最後にこのエラーが発生します。
/usr/local/lib/ruby/gems/1.9.1/gems/net-ldap-0.3.1/lib/net/ber/core_ext/string.rb:23:in
encode': "\x8E" from ASCII-8BIT to UTF-8 (Encoding::UndefinedConversionError) from /usr/local/lib/ruby/gems/1.9.1/gems/net-ldap-0.3.1/lib/net/ber/core_ext/string.rb:23:in
raw_utf8_encoded' from /usr/local/lib/ ruby/gems/1.9.1/gems/net-ldap-0.3.1/lib/net/ber/core_ext/string.rb:15:into_ber' from /usr/local/lib/ruby/gems/1.9.1/gems/net-ldap-0.3.1/lib/net/ldap.rb:1396:in
block in search' from /usr/local/lib/ruby/gems/1.9 .1/gems/net-ldap-0.3.1/lib/net/ldap.rb:1367:loop' from /usr/local/lib/ruby/gems/1.9.1/gems/net-ldap-0.3.1/lib/net/ldap.rb:1367:in
/usr/local/lib/ruby/gems/1.9.1/gems/net-ldap-0.3 から検索します。 1/lib/net/ldap.rb:637:「検索」で
そしてここに私のコード:
require 'rubygems'
require 'net/ldap'
ldap = Net::LDAP.new
ldap.host = 'xxxxxx'
ldap.authenticate "cn=admin, dc=xxxx, dc=xxxxx, dc=de", "xxxxx!"
#puts ldap.bind
if ldap.bind
# authentication succeeded
else
# authentication failed
# p ldap.get_operation_result
end
filter = Net::LDAP::Filter.eq("uid", "*")
treebase = "xxxxx, dc=xxxxxx, dc=de"
ldap.search(:base => treebase, :filter => filter) do |entry|
puts "DN: #{entry.dn}"
entry.each do |attribute, values|
puts " #{attribute}:"
values.each do |value|
puts " --->#{value}"
end
end
end