2011-09-20 3 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

인증 ID 요청 제어라는 인증 된 ID를 검색하는 데 사용할 수있는 컨트롤이 있습니다. 응답은 권한 ID 응답 제어라고하는 응답으로 리턴됩니다. 컨트롤은 here으로 정의됩니다.

+0

감사합니다. 이것은 불행히도 내가 사용하고있는 루비 라이브러리가 아직이 기능을 구현하지 않았지만 도움이됩니다. 내가 작동하게되면 여기에 게시 할 것이다. – cayblood

+0

저는 Ruby 전문가는 아니지만, 루비 젬에 대한 빠른 열람은 컨트롤에 대한 지원을 보여줍니다. –

0

또한 '내가 누구인가'라는 확장 작업이 있습니다.