class Chaltron::LDAP::Person
Attributes
entry[RW]
Public Class Methods
find_by_field(field, value)
click to toggle source
# File lib/chaltron/ldap/person.rb, line 12 def self.find_by_field(field, value) ldap.find_users(field.to_sym => value) end
find_by_fields(fields = {})
click to toggle source
# File lib/chaltron/ldap/person.rb, line 16 def self.find_by_fields(fields = {}) ldap.find_users(fields) end
find_by_uid(uid)
click to toggle source
# File lib/chaltron/ldap/person.rb, line 20 def self.find_by_uid(uid) ldap.find_by_uid(uid) end
new(entry, uid)
click to toggle source
# File lib/chaltron/ldap/person.rb, line 24 def initialize(entry, uid) # Rails.logger.debug { "Instantiating #{self.class.name} with LDIF:\n#{entry.to_ldif}" } @entry = entry @uid = uid end
valid_credentials?(login, password)
click to toggle source
# File lib/chaltron/ldap/person.rb, line 8 def self.valid_credentials?(login, password) ldap.auth(login, password) end
Private Class Methods
ldap()
click to toggle source
# File lib/chaltron/ldap/person.rb, line 86 def self.ldap @connection ||= Chaltron::LDAP::Connection.new end
Public Instance Methods
create_user(roles = [])
click to toggle source
# File lib/chaltron/ldap/person.rb, line 30 def create_user(roles = []) password = Devise.friendly_token[0, 8].downcase user = ::User.new(extern_uid: dn, provider: provider, fullname: name, username: username, email: email, password: password, password_confirmation: password, department: department ) user.roles = roles user.save user end
department()
click to toggle source
# File lib/chaltron/ldap/person.rb, line 46 def department entry.send(Chaltron.ldap_field_mappings[:department]).first rescue nil end
dn()
click to toggle source
# File lib/chaltron/ldap/person.rb, line 72 def dn entry.dn end
email()
click to toggle source
# File lib/chaltron/ldap/person.rb, line 68 def email entry.send(Chaltron.ldap_field_mappings[:email]).first rescue nil end
ldap_groups()
click to toggle source
# File lib/chaltron/ldap/person.rb, line 80 def ldap_groups self.class.ldap.find_groups_by_member(self) end
name()
click to toggle source
# File lib/chaltron/ldap/person.rb, line 50 def name if Chaltron.ldap_field_mappings[:full_name].nil? first_name = entry.send(Chaltron.ldap_field_mappings[:first_name]).first last_name = entry.send(Chaltron.ldap_field_mappings[:last_name]).first "#{first_name} #{last_name}" else entry.send(Chaltron.ldap_field_mappings[:full_name]).first end end
provider()
click to toggle source
# File lib/chaltron/ldap/person.rb, line 76 def provider 'ldap' end
uid()
click to toggle source
# File lib/chaltron/ldap/person.rb, line 60 def uid entry.send(@uid).first end
username()
click to toggle source
# File lib/chaltron/ldap/person.rb, line 64 def username uid end