Module: Security::AuthRules

Defined in:
lib/security/auth_rules.rb

Instance Method Summary collapse

Instance Method Details

#validate_rule(roles = []) ⇒ Object



15
16
17
18
19
20
21
22
# File 'lib/security/auth_rules.rb', line 15

def validate_rule(roles = [])
  roles.each do |role|
    if(validate_rule_role(role))
      return true
    end
  end
  halt 401
end

#validate_rule_role(role) ⇒ Object



24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/security/auth_rules.rb', line 24

def validate_rule_role(role)
  controller = (request.route_obj && request.route_obj.controller) ? request.route_obj.controller.to_sym : :default
  #puts "controller => #{controller} RULES => #{@rules[role][@env['REQUEST_METHOD']][controller]}"
  if(@rules.has_key?(role) && @rules[role].has_key?(controller) && 
      @rules[role][controller].has_key?(@env['REQUEST_METHOD']))
    rules_exp = @rules[role][controller][@env['REQUEST_METHOD']]
    rules_exp.each do |exp|
      if((@env['PATH_INFO'] =~ /#{exp}/))
        return true
      end
    end
  end
  false
end

#validate_userObject

Por ejemplo { :escort => => [“/escorts/+”] }



8
9
10
11
12
13
# File 'lib/security/auth_rules.rb', line 8

def validate_user
      if(@env["HTTP_USER_AUTH"])
   user_session, user_token = @env["HTTP_USER_AUTH"].split(':')
   yield(user_session, user_token)
  end
end