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.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