LDAP で認証された rails3 Web サイトを構築したいので、以前の rails2 アプリで使用していた ruby-ldap gem (net/ldap ではない) を選択し、非常にうまく機能します。
しかし、Rails3 アプリで奇妙なエラーが発生し続けます。以下のコードを参照してください。
require 'ldap'
class WelcomeController < ApplicationController
def index
begin
@test = LDAP::Conn.new('10.72.64.11', 389)
rescue LDAP::Error
p LDAP::Error
end
render :text => "ok"
end
end
welcome#index はルート ルートです。ほとんどの場合、LDAP::Conn.new('10.72.64.11', 389) に移動するとアプリがクラッシュします。デバッグと追跡に「pry」を使用しようとしても、
[1] 24797 trace trap rails s
WEBrick サーバーはその時点で終了します。
「pry」を使用してステップを実行すると、別のタイプのエラーがスローされることがあります。
#<NameError: uninitialized constant WelcomeController::LDAP>
コンソールで試してみると、すべてうまくいきます。
1.9.3-p194 :001 > require 'ldap'
=> true
1.9.3-p194 :002 > @test = LDAP::Conn.new('10.72.64.11', 389)
=> #<LDAP::Conn:0x00000101289568>
1.9.3-p194 :003 >
このクレイジーなものから私を導いてくれませんか? ruby 1.9.3p194 と rails 3.2.8 を使用しています