summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/gitlab/ldap/access.rb14
1 files changed, 13 insertions, 1 deletions
diff --git a/lib/gitlab/ldap/access.rb b/lib/gitlab/ldap/access.rb
index 2a636244473..8f492e5c012 100644
--- a/lib/gitlab/ldap/access.rb
+++ b/lib/gitlab/ldap/access.rb
@@ -1,8 +1,20 @@
module Gitlab
module LDAP
class Access
+ attr_reader :adapter
+
+ def self.open(&block)
+ Gitlab::LDAP::Adapter.open do |adapter|
+ block.call(self.new(adapter))
+ end
+ end
+
+ def initialize(adapter=nil)
+ @adapter = adapter
+ end
+
def allowed?(user)
- !!Gitlab::LDAP::Person.find_by_dn(user.extern_uid)
+ !!Gitlab::LDAP::Person.find_by_dn(user.extern_uid, adapter)
rescue
false
end