Sha256: 4d86e3f75f907a704811b96f07ec76991649ea04a57d9748e1631f1085e11e2a
Contents?: true
Size: 860 Bytes
Versions: 1
Compression:
Stored size: 860 Bytes
Contents
module GINST module Authorization def auth @auth ||= Rack::Auth::Basic::Request.new(request.env) end def unauthorized!(realm="Ginst Auth") header 'WWW-Authenticate' => %(Basic realm="#{realm}") throw :halt, [ 401, 'Authorization Required' ] end def bad_request! throw :halt, [ 400, 'Bad Request' ] end def authorized? request.env['REMOTE_USER'] end def authorize(username, password) # Insert your logic here to determine if username/password is good false end def require_administrative_privileges return if authorized? unauthorized! unless auth.provided? bad_request! unless auth.basic? unauthorized! unless authorize(*auth.credentials) request.env['REMOTE_USER'] = auth.username end def admin? authorized? end end end helpers do include GINST::Authorization end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
ginst-0.2.2 | lib/app/authorization.rb |