Sha256: 53ca4591e88fc3a554b516721bd0d11565842605ac134385e478ef928a1a2666
Contents?: true
Size: 995 Bytes
Versions: 3
Compression:
Stored size: 995 Bytes
Contents
module Rails module Auth class ACL # Authorizes requests by matching them against the given ACL class Middleware # Create Rails::Auth::ACL::Middleware from the args you'd pass to Rails::Auth::ACL's constructor def self.from_acl_config(app, **args) new(app, acl: Rails::Auth::ACL.new(**args)) end # Create a new ACL Middleware object # # @param [Object] app next app in the Rack middleware chain # @param [Hash] acl Rails::Auth::ACL object to authorize the request with # # @return [Rails::Auth::ACL::Middleware] new ACL middleware instance def initialize(app, acl: nil) raise ArgumentError, "no acl given" unless acl @app = app @acl = acl end def call(env) raise NotAuthorizedError, "unauthorized request" unless Rails::Auth.authorized?(env) || @acl.match(env) @app.call(env) end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
rails-auth-1.3.0 | lib/rails/auth/acl/middleware.rb |
rails-auth-1.2.0 | lib/rails/auth/acl/middleware.rb |
rails-auth-1.1.0 | lib/rails/auth/acl/middleware.rb |