首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ruby查询Novell eDirectory

Ruby查询Novell eDirectory
EN

Stack Overflow用户
提问于 2016-06-29 16:47:28
回答 1查看 230关注 0票数 1

我想用eDirectory连接到Novell TimeOut,但是在'open_connection‘上有TimeOut。

你认为如何?

代码语言:javascript
复制
require 'net/ldap' 

    ldap = Net::LDAP.new :host => "172.21.45.60",
         :port => 686,
         :encrytion => :simple_tls,
         :auth => {
               :method => :simple,
               :username => "cn=XXX,ou=XXX,ou=XXX,o=XXX",
               :password => "XXX"
         }

    filter = Net::LDAP::Filter.eq("cn", "paul*")
    treebase = "ou=XXX,ou=XXX,o=XXX"
    attrs = ["mail", "cn", "sn", "objectclass", "loginTime"]

    ldap.search(:base => treebase, :filter => filter, :attributes => attrs) 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

误差

代码语言:javascript
复制
C:/Ruby23/lib/ruby/gems/2.3.0/gems/net-ldap-0.14.0/lib/net/ldap/connection.rb:63 :in `open_connection': Se produjo un error durante el intento de conexi¾n ya que la parte conectada no respondi¾ adecuadamente tras un periodo de tiempo, o bien se produjo un error en la conexi¾n establecida ya que el host conectado no ha p odido responder. - user specified timeout (Net::LDAP::Error)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-30 13:23:23

您不能在686端口上连接到"172.21.45.60“。

我建议您在测试时尝试使用纯文本进行连接。

所以开始很简单:

代码语言:javascript
复制
require 'rubygems'
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

一旦成功,就添加TLS。

正如我所看到的,Ruby文档 (我不是Ruby )展示了这个例子:

代码语言:javascript
复制
{
  :method => :start_tls,
  :tls_options => { :ca_file => "/etc/cafile.pem", :ssl_version => "TLSv1_1" }
}

-jim

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38105649

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档