我想建立一个使用 LDAP 认证的 rails3 网站,所以我选择了我们在旧的 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