class PublicKeys::LDAP
Public Class Methods
new(host, port, user_dn = nil, password = nil)
click to toggle source
# File lib/public_keys/ldap.rb, line 5 def initialize(host, port, user_dn = nil, password = nil) @client = Net::LDAP.new @client.host = host @client.port = port @client.auth(user_dn, password) if user_dn end
Public Instance Methods
group_keys(group_dn, base_dn)
click to toggle source
# File lib/public_keys/ldap.rb, line 12 def group_keys(group_dn, base_dn) filter = Net::LDAP::Filter.eq("sshPublicKey", "*") & Net::LDAP::Filter.eq("memberof", group_dn) Array(@client.search(:base => base_dn, :filter => filter)).flat_map { |entry| entry[:sshPublicKey] } end
user_keys(user_dn)
click to toggle source
# File lib/public_keys/ldap.rb, line 18 def user_keys(user_dn) filter = Net::LDAP::Filter.eq("sshPublicKey", "*") Array(@client.search(:base => user_dn, :filter => filter)).flat_map { |entry| entry[:sshPublicKey] } end