Ldap gem在Rails中不会抛出与服务器异常的连接

时间:2013-02-27 20:10:44

标签: ruby ruby-on-rails-3 ldap opends

尝试从Rails中的模块建立连接,并且不与服务器建立连接。我在Rails之外测试了相同的代码,它工作正常。

require 'rubygems'
require 'net-ldap'

module Foo
  module Bar
    class User

    attr_reader :ldap_connection

    def initialize
      @ldap = Net::LDAP.new(:host => "<ip-number>", :port => 389)
      @treebase = "ou=People, dc=foo, dc=bar"
      username = "cn=Manager"
      password = "password"
      @ldap.auth username, password

      begin
        if @ldap.bind
          @ldap_connection = true
        else
          @ldap_connection = false
        end
        rescue Net::LDAP::LdapError
          @ldap_connection = false
        end
      end 
    end
  end
end

获取Net::LDAP::LdapError: no connection to server例外。

1 个答案:

答案 0 :(得分:1)

我找到了解决Rails中自动加载问题的解决方案/解决方法。添加了一个新的初始化程序,以确保需要lib / get下的所有Ruby文件:

使用此代码添加config/initializers/require_files_in_lib.rb

Dir[Rails.root + 'lib/**/*.rb'].each do |file|
    require file
end

详细了解变通方法:Rails 3 library not loading until require