module Security::AuthRules
Public Instance Methods
validate_rule(roles = [])
click to toggle source
# 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)
click to toggle source
# 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() { |user_session, user_token| ... }
click to toggle source
Por ejemplo {
:escort => {"GET" => ["/escorts/[0-9]+"]} }
# 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