Commit 826404a8 authored by Jacob Vosmaer's avatar Jacob Vosmaer

Open/close LDAP in ApplicationController

By opening the LDAP connection at the controller level we can reuse it
for all LDAP queries during the request.

Conflicts:
	CHANGELOG
	app/controllers/application_controller.rb
parent 2f1a59d3
......@@ -183,14 +183,16 @@ class ApplicationController < ActionController::Base
def ldap_security_check
if current_user && current_user.ldap_user? && current_user.requires_ldap_check?
if gitlab_ldap_access.allowed?(current_user)
gitlab_ldap_access.update_permissions(current_user)
current_user.last_credential_check_at = Time.now
current_user.save
else
sign_out current_user
flash[:alert] = "Access denied for your LDAP account."
redirect_to new_user_session_path
gitlab_ldap_access do |access|
if access.allowed?(current_user)
access.update_permissions(current_user)
current_user.last_credential_check_at = Time.now
current_user.save
else
sign_out current_user
flash[:alert] = "Access denied for your LDAP account."
redirect_to new_user_session_path
end
end
end
end
......@@ -200,8 +202,8 @@ class ApplicationController < ActionController::Base
@event_filter ||= EventFilter.new(filters)
end
def gitlab_ldap_access
Gitlab::LDAP::Access.new
def gitlab_ldap_access(&block)
Gitlab::LDAP::Access.open { |access| block.call(access) }
end
# JSON for infinite scroll via Pager object
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment