Sha256: 924d6a54acb2119541cd77bed82a50cd4ef2a70002e0ed81cf71c0d8340c45e9

Contents?: true

Size: 1.13 KB

Versions: 7

Compression:

Stored size: 1.13 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)
          session['ldapAdmin'] = 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'
          }
        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.'
        }
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
zuora_connect-3.1.0.pre.e app/controllers/zuora_connect/application_controller.rb
zuora_connect-3.1.0.pre.d app/controllers/zuora_connect/application_controller.rb
zuora_connect-3.1.0.pre.c app/controllers/zuora_connect/application_controller.rb
zuora_connect-3.1.0.pre.b app/controllers/zuora_connect/application_controller.rb
zuora_connect-3.1.0.pre.a app/controllers/zuora_connect/application_controller.rb
zuora_connect-3.0.2.pre.r app/controllers/zuora_connect/application_controller.rb
zuora_connect-3.0.2.pre.q app/controllers/zuora_connect/application_controller.rb