Sha256: 185048e9058a3e0ac28aa7f347d56a488809fcd3d3cfbecd9fa8a9b8d3162d75

Contents?: true

Size: 1.44 KB

Versions: 2

Compression:

Stored size: 1.44 KB

Contents

module Burp
  class ApplicationController < ActionController::Base
    
    protect_from_forgery
    before_filter :authenticate
    before_filter :init_body_classes
    
    def init_body_classes 

      module_name = self.class.parent.class == Module ? self.class.parent.name+"-" : ""

      @body_classes ||= ""
      @body_classes += " #{module_name}#{controller_name} ".downcase
      @body_classes += " #{module_name}#{controller_name}-#{action_name} ".downcase

      @body_classes += " #{(request.user_agent || '').match(/(lion)/i) ? "noscrollbars" : "scrollbars"} "
    end
    
    private
    
    def access
      @access ||= Burp.new_access_instance(request, self)
    end
    
    def authenticate
      unless access.may_skip_http_auth? || Rails.env == "test"
      
        if !Rails.application.config.respond_to?(:burp_password) or !Rails.application.config.respond_to?(:burp_username)
          raise "config.burp_username and config.burp_password are not set.\n\nYou can fix this by adding them to application.rb."
        end
      
        unless Rails.env == 'development'
          authenticate_or_request_with_http_basic do |username, password|
            # Rails.logger.debug "in authenticate_or_request_with_http_basic, #{request.headers['Authorization']}"
            username == Rails.application.config.burp_username && password == Rails.application.config.burp_password
          end
        end
      
      end
    end
    
  end
end
    

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
burp_cms-1.3.22 app/controllers/burp/application_controller.rb
burp_cms-1.3.21 app/controllers/burp/application_controller.rb