2011-09-20 32 views
2

我正在使用ruby的net-ldap庫。我正在編寫一些代碼,它接收到一個成功的bind()操作已經完成的連接對象,這意味着LDAP用戶已經提供了用戶名和密碼併成功登錄。從綁定連接中檢索當前經過身份驗證的LDAP用戶的用戶名

我現在想運行一些代碼來檢查用戶是否屬於特定的LDAP組。我其實已經有了這個代碼。但是我想知道的是,在LDAP中是否可以找到用當前連接進行身份驗證的用戶的DN或用戶名。用戶名已經需要登錄,但是這發生在我無法訪問的其他一些代碼中。以下是一些示例代碼:

require 'rubygems' 
require 'net-ldap' 

connection_options = { 
    :encryption => :simple_tls, 
    :host => SERVER, 
    :port => PORT, 
    :base => BASE, 
    :auth => { 
    :username => "#{username}@#{DOMAIN}", 
    :password => password, 
    :method => :simple 
    } 
} 
connection = Net::LDAP.new(connection_options) 
if connection.bind 
    puts "Authentication succeeded" 
    # now find the username (again) given a valid connection object 
end 

在此先感謝您的幫助。

回答

1

有一個控件可用於發現稱爲授權身份請求控件的身份驗證身份。答案在響應中返回,稱爲授權身份響應控制。控件定義爲here

+0

謝謝。這有助於,但不幸的是,我正在使用的ruby庫尚未實現此功能。如果/當我得到它的工作,我會在這裏發佈。 – cayblood

+0

我不是Ruby專家,但是快速閱讀rubygems顯示了對控件的支持。 –

0

另外還有一個'我是誰'的擴展操作。

相關問題