Module: Security::AuthRules
- Defined in:
- lib/security/auth_rules.rb
Instance Method Summary collapse
- #validate_rule(roles = []) ⇒ Object
- #validate_rule_role(role) ⇒ Object
-
#validate_user ⇒ Object
Por ejemplo { :escort => => [“/escorts/+”] }.
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_user ⇒ Object
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 |