Sha256: 8e9620df41e29a0e61ff8e319d9aa72c8a6f63ccfd1aa4c4f2239b85fa9b93c3

Contents?: true

Size: 1.28 KB

Versions: 25

Compression:

Stored size: 1.28 KB

Contents

module ZuoraConnect
  class ApplicationController < ActionController::Base
    protect_from_forgery with: :exception
    before_action :authenticate_connect_app_request, except: [:ldap_login]
    after_action :persist_connect_app_session, except: [:ldap_login]

    def ldap_login
      require 'net-ldap'

      username = request.parameters['ldap_username']
      password = request.parameters['ldap_password']

      begin
        if ZuoraConnect::LDAP::Adapter.valid_credentials?(username, password)
          id = ZuoraConnect::AppInstance.first.id
          session["appInstance"] = ZuoraConnect::AppInstance.first.id
          session["#{id}::admin"] = true
          respond_to do |format|
            format.html { redirect_to '/admin/app_instances' }
          end
        else
          render 'zuora_connect/application/ldap_login', locals: {
            title: 'LDAP Authentication Failed',
            message: 'Invalid username or password'
          }, :layout => false
        end
      rescue Net::LDAP::Error
        render 'zuora_connect/application/ldap_login', locals: {
          title: 'LDAP Authentication Net Error',
          message: 'Failed to connect to server while authenticating the LDAP credentials. Please retry later.'
        }, :layout => false
      end
    end
  end
end

Version data entries

25 entries across 25 versions & 1 rubygems

Version Path
zuora_connect-3.2.7 app/controllers/zuora_connect/application_controller.rb
zuora_connect-3.2.6 app/controllers/zuora_connect/application_controller.rb
zuora_connect-3.2.5 app/controllers/zuora_connect/application_controller.rb
zuora_connect-3.2.4 app/controllers/zuora_connect/application_controller.rb
zuora_connect-3.2.3 app/controllers/zuora_connect/application_controller.rb
zuora_connect-3.2.2 app/controllers/zuora_connect/application_controller.rb
zuora_connect-3.2.0 app/controllers/zuora_connect/application_controller.rb
zuora_connect-3.1.5.pre.g app/controllers/zuora_connect/application_controller.rb
zuora_connect-3.1.5.pre.f app/controllers/zuora_connect/application_controller.rb
zuora_connect-3.1.5.pre.e app/controllers/zuora_connect/application_controller.rb
zuora_connect-3.1.5.pre.d app/controllers/zuora_connect/application_controller.rb
zuora_connect-3.1.5.pre.c app/controllers/zuora_connect/application_controller.rb
zuora_connect-3.1.5.pre.b app/controllers/zuora_connect/application_controller.rb
zuora_connect-3.1.5.pre.a app/controllers/zuora_connect/application_controller.rb
zuora_connect-3.1.5 app/controllers/zuora_connect/application_controller.rb
zuora_connect-3.1.4 app/controllers/zuora_connect/application_controller.rb
zuora_connect-3.1.3 app/controllers/zuora_connect/application_controller.rb
zuora_connect-3.1.2.pre.a app/controllers/zuora_connect/application_controller.rb
zuora_connect-3.1.2 app/controllers/zuora_connect/application_controller.rb
zuora_connect-3.1.1.pre.c app/controllers/zuora_connect/application_controller.rb