Method: OpenNebula::LdapAuth#find_user

Defined in:
lib/opennebula/ldap_auth.rb

#find_user(name) ⇒ Object



134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
# File 'lib/opennebula/ldap_auth.rb', line 134

def find_user(name)
    filter = Net::LDAP::Filter.equals(@options[:user_field], name)

    result = @ldap.search(
        :base       => @options[:base],
        :attributes => @options[:attributes],
        :filter     => filter
    )

    if result && result.first
        @user = result.first

        [@user.dn,
         @user[@options[:user_field]].first,
         @user[@options[:user_group_field]]]
    else
        result=@ldap.search(:base => name)

        if result && result.first
            @user = result.first
            [name,
             @user[@options[:user_field]].first,
             @user[@options[:user_group_field]]]
        else
            [nil, nil, nil]
        end
    end
end