質問 |
||
| 質問者: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ファイルは存在しています。 |
| この回答へのお礼 | この回答にお礼をつける(質問者のみ) |