summaryrefslogtreecommitdiff
path: root/lib/gitlab/auth.rb
blob: 0f1962974771e494e42c754dbc7ef762dfd478b0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
module Gitlab
  class Auth
    def find(login, password)
      user = User.find_by_email(login) || User.find_by_username(login)

      if user.nil? || user.ldap_user?
        # Second chance - try LDAP authentication
        return nil unless ldap_conf.enabled

        Gitlab::LDAP::User.authenticate(login, password)
      else
        user if user.valid_password?(password)
      end
    end

    def log
      Gitlab::AppLogger
    end

    def ldap_conf
      @ldap_conf ||= Gitlab.config.ldap
    end
  end
end