ldapを検索しようとしています。これは成功した認証を行い、正しいパスワードと間違ったパスワードを使用して検証しました。 Ldap接続に成功しました。その後、検索クエリを実行すると、LDAP(AD)から属性を読み取ることができません。ここで何が間違っていますか? ldap/ADには誰に何ができるのかに関する制限/許可がありますか?net-ldapでLdapを検索するRuby Rails
#!/usr/bin/env ruby
require "net-ldap"
$username = String.new
class ActiveDirectoryUser
SERVER = '10.10.10.10'
PORT = 389
BASE = 'DC=mydomain,DC=com'
DOMAIN = 'mydomain.com'
def self.authenticate(login, pass)
conn = Net::LDAP.new :host => SERVER,
:port => PORT,
:base => BASE,
:auth => { :username => "#{login}@#{DOMAIN}",
:password => pass,
:method => :simple }
if conn.bind
conn.search(
:base => BASE, :filter => Net::LDAP::Filter.eq(
"sAMAccountName", login),
:attributes => %w[ givenName ], :return_result => true) do
|entry|
puts "givenName: #{entry.givenName}"
$username = entry.givenName
end
return true
else
return false
end
rescue Net::LDAP::LdapError => e
return false
end
end
if ActiveDirectoryUser.authenticate('myusername', 'mypassword')
puts "Authentication Successful! The user is "+$username
#### I get this,but blank username
else
puts "Authentication FAILED!"
end
-----------
# ./ad.rb
Authentication Successful! The user is
答えてくれてありがとうテリーを。 小さな問題でした。私はtreebaseのいくつかの詳細が不足していた。それは今働いている。それはLDAPクライアント可能性があるので