ようこそ ゲスト さん、新規登録(無料)して気になる疑問を解決しませんか?

質問

質問者:skip_jack ruby ldapライブラリが利用できない
困り度:
  • 暇なときにでも
Rubyでldapを利用したいと思っているのですがうまくいかず悩んでいます。
下記よりruby-ldap.x.x.x.tar.gz をダウンロードしました。
※最新のバージョン以外も試しています。
<​http://ruby-ldap.sourceforge.net/>


#!/usr/bin/ruby
require "ldap"  ←/usr/lib/ruby/1.8/netldap.rb を指定
LDAP::Conn.new($ホスト、$ポート)

と実行すると接続時に下のエラー内容が出ます。
"uninitialized constant LDAP (NameError)"

書籍、WEBを参考にしてスクリプトを組んだのですが、どこが問題なのかトレースできません。
もしお分かりの方がおりましたらお教えください。
質問投稿日時:08/03/19 00:37
質問番号:3875097
この質問に対する回答は締め切られました。
最新から表示回答順に表示良回答のみ表示

回答

良回答20pt

回答者:sakusaker7 (正)←/usr/lib/ruby/1.8/net/ldap.rb を指定

これは、質問にある ruby-ldapじゃなくて、Net::LDAPのファイルじゃないですか?

RubyForge: Pure Ruby LDAP Tools: Project Info
http://rubyforge.org/projects/net-ldap/

であるなら名前空間が違うので LDAPでは何も見つからないはずです。
require 'ldap' でエラーになってないというのもわかりませんが、
Net::LDAPを使うのなら

require 'net/ldap'

ldap = Net::LDAP.new :host => server_ip_address,
:port => 389,
:auth => {
:method => :simple,
:username => "cn=manager,dc=example,dc=com",
:password => "opensesame"
}

filter = Net::LDAP::Filter.eq( "cn", "George*" )
treebase = "dc=example,dc=com"

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

p ldap.get_operation_result

こういう感じになるのですが。

ldap.so はどのディレクトリにあって、そもそもインストールは
どういう手順でやったのでしょうか?
種類:補足要求
どんな人:経験者
自信:参考意見
回答日時:08/03/19 23:35
回答番号:No.2
この回答へのお礼ご丁寧な解答ありがとうございました。

/usr/lib/ruby/1.8/配下に、ldap.rb というファイルを作成していたことがあり、こちらを読んでいました。

require 'net/ldap'
として、ご指摘のようにスクリプトを組みなおしたところ正常にどうさいたしました。

回答

 

回答者:sakusaker7 >require "ldap"  ←/usr/lib/ruby/1.8/netldap.rb を指定
ここの意味がわからないのですがどういうことですか?
ldap.so というのがインストール時に作られていて、それを読み込むと思うのですが。
netldap.rb ってどこから出てきたファイルなのかもわかりません。


>もしお分かりの方がおりましたらお教えください。
「おりましたら」というのを丁寧に言っている意味で書いているのなら間違いです。
自分、もしくは自分の身内を下げて言うときに使う表現ですよ。
種類:補足要求
どんな人:経験者
自信:参考意見
回答日時:08/03/19 02:10
回答番号:No.1
この回答への補足(誤)←/usr/lib/ruby/1.8/netldap.rb を指定
(正)←/usr/lib/ruby/1.8/net/ldap.rb を指定
でした。

ldap.soファイルは存在しています。
この回答へのお礼この回答にお礼をつける(質問者のみ)
 
最新から表示回答順に表示良回答のみ表示