Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDouwe Maan <douwe@selenight.nl>2017-10-31 12:52:44 +0300
committerDouwe Maan <douwe@selenight.nl>2017-10-31 19:13:50 +0300
commit8399de0c961be75d0cd90e59a7e89fabc11025b8 (patch)
treed4623bef5ee12e2ea9ca16f99f48c6eaae0a7992 /app/models/identity.rb
parentbb63ee682aac171db00bfd2c37395fa1f77a3cae (diff)
Normalize LDAP DN when looking up identity
Diffstat (limited to 'app/models/identity.rb')
-rw-r--r--app/models/identity.rb5
1 files changed, 4 insertions, 1 deletions
diff --git a/app/models/identity.rb b/app/models/identity.rb
index 920a25932b4..ac8094b610e 100644
--- a/app/models/identity.rb
+++ b/app/models/identity.rb
@@ -7,7 +7,10 @@ class Identity < ActiveRecord::Base
validates :extern_uid, allow_blank: true, uniqueness: { scope: :provider }
validates :user_id, uniqueness: { scope: :provider }
- scope :with_extern_uid, ->(provider, extern_uid) { where(extern_uid: extern_uid, provider: provider) }
+ scope :with_extern_uid, ->(provider, extern_uid) do
+ extern_uid = Gitlab::LDAP::Person.normalize_dn(extern_uid) if provider.starts_with?('ldap')
+ where(extern_uid: extern_uid, provider: provider)
+ end
def ldap?
provider.starts_with?('ldap')