Defect #764 ยป ldap.patch
| app/models/auth_source_ldap.rb | ||
|---|---|---|
| 30 | 30 |
return nil if login.blank? || password.blank? |
| 31 | 31 |
attrs = [] |
| 32 | 32 |
# get user's DN |
| 33 |
ldap_con = initialize_ldap_con(self.account, self.account_password) |
|
| 33 |
if (self.account == "") && (self.account_password == nil) |
|
| 34 |
ldap_con = initialize_anon_ldap_con() |
|
| 35 |
else |
|
| 36 |
ldap_con = initialize_ldap_con(self.account, self.account_password) |
|
| 37 |
end |
|
| 34 | 38 |
login_filter = Net::LDAP::Filter.eq( self.attr_login, login ) |
| 35 | 39 |
object_filter = Net::LDAP::Filter.eq( "objectClass", "*" ) |
| 36 | 40 |
dn = String.new |
| ... | ... | |
| 77 | 81 |
) |
| 78 | 82 |
end |
| 79 | 83 |
|
| 84 |
def initialize_anon_ldap_con() |
|
| 85 |
Net::LDAP.new( {:host => self.host,
|
|
| 86 |
:port => self.port, |
|
| 87 |
:encryption => (self.tls ? :simple_tls : nil)} |
|
| 88 |
) |
|
| 89 |
end |
|
| 90 | ||
| 80 | 91 |
def self.get_attr(entry, attr_name) |
| 81 | 92 |
entry[attr_name].is_a?(Array) ? entry[attr_name].first : entry[attr_name] |
| 82 | 93 |
end |