Module: Jackad
- Defined in:
- lib/jackad/config.rb,
lib/jackad/jackad.rb,
lib/jackad/version.rb,
lib/jackad/net/ldap.rb,
lib/jackad/ad_connect.rb
Defined Under Namespace
Modules: Net Classes: AdConnect, Config, ConnectionRefused, RecordNotFound
Constant Summary collapse
- VERSION =
"0.2.0"
Class Method Summary collapse
-
.credentials_valid?(username, password) ⇒ Boolean
Check validity of username and password Returns true or false.
-
.entry_exists?(username) ⇒ Boolean
Check user existance by configured attribute Returns true or false.
-
.entry_valid?(username) ⇒ Boolean
Check user validity by configured attribute, useraccountcontrol flags and pwdlastset attribute Returns true or false.
Class Method Details
.credentials_valid?(username, password) ⇒ Boolean
Check validity of username and password Returns true or false
7 8 9 10 11 |
# File 'lib/jackad/jackad.rb', line 7 def self.credentials_valid?(username, password) ad = AdConnect.new ad.ldap.auth(username, password) ad.ldap.bind end |
.entry_exists?(username) ⇒ Boolean
Check user existance by configured attribute Returns true or false
15 16 17 18 19 |
# File 'lib/jackad/jackad.rb', line 15 def self.entry_exists?(username) ad = AdConnect.new filter = Net::LDAP::Filter.eq(ad.attribute.to_s, username) ad.ldap.search(filter: filter, size: 1).size > 0 ? true : false end |
.entry_valid?(username) ⇒ Boolean
Check user validity by configured attribute, useraccountcontrol flags and pwdlastset attribute Returns true or false
23 24 25 26 27 28 29 30 |
# File 'lib/jackad/jackad.rb', line 23 def self.entry_valid?(username) ad = AdConnect.new filter_by_attr = Net::LDAP::Filter.eq(ad.attribute.to_s, username) filter_by_uac = ~Net::LDAP::Filter.construct('useraccountcontrol:1.2.840.113556.1.4.803:=2') filter_by_pass = ~Net::LDAP::Filter.eq('pwdlastset', '0') filter = filter_by_attr & filter_by_uac & filter_by_pass ad.ldap.search(filter: filter, size: 1).size > 0 ? true : false end |