module ActivateMyDirectory
Constants
- VERSION
Public Class Methods
authenticate(username, password)
click to toggle source
# File lib/activate_my_directory.rb, line 34 def authenticate(username, password) setup user = ActiveDirectory::User.find(:first, userprincipalname: "#{username}@#{yaml['domain']}") return false unless user user.authenticate(password) end
authenticate_and_is_in_group?(username, password, groupname)
click to toggle source
# File lib/activate_my_directory.rb, line 49 def authenticate_and_is_in_group?(username, password, groupname) authenticate(username, password) && user_is_in_group?(username, groupname) end
config_path()
click to toggle source
# File lib/activate_my_directory.rb, line 7 def config_path ENV['ACTIVATE_MY_DIRECTORY_CONFIG'] || File.join(Dir.home, '.activate_my_directory', 'config.yml') end
settings()
click to toggle source
# File lib/activate_my_directory.rb, line 16 def settings @settings ||= { host: yaml['host'], port: yaml['port'], base: yaml['base'], auth: { method: :simple, username: "#{yaml['username']}@#{yaml['domain']}", password: yaml['password'] }, encryption: { method: :simple_tls } } end
setup()
click to toggle source
# File lib/activate_my_directory.rb, line 29 def setup ActiveDirectory::Base.setup(settings) unless @setup @setup = true end
user_is_in_group?(username, groupname)
click to toggle source
# File lib/activate_my_directory.rb, line 41 def user_is_in_group?(username, groupname) setup user = ActiveDirectory::User.find(:first, userprincipalname: "#{username}@#{yaml['domain']}") group = ActiveDirectory::Group.find(:first, cn: groupname) return false unless user && group user.groups.include?(group) end
yaml()
click to toggle source
# File lib/activate_my_directory.rb, line 12 def yaml @yaml ||= YAML::load_file(config_path) end