Sha256: 2225124479d8b5b11e86f654677e7cf85ad663249968d62cffb9128890711c99
Contents?: true
Size: 1.41 KB
Versions: 3
Compression:
Stored size: 1.41 KB
Contents
require 'sinatra/base' module Sinatra module SessionAuth module Helpers def authorized? session[:authorized] end def user session[:user] end def authorize! redirect '/login' unless authorized? end def logout! session[:authorized] = false end end def self.registered(app) app.helpers SessionAuth::Helpers app.set :users, {} app.get '/login' do "<h1>Please enter your login information</h1>" + "<form method='POST' action='/login'>" + "<label>Username</label>" + "<input type='text' name='user'>" + "<label>Password</label>" + "<input type='password' name='pass'>" + "<input type='submit' name='Submit'>" + "</form>" end app.post '/login' do if options.users.include? params[:user] and options.users[params[:user]] == params[:pass] session[:authorized] = true session[:user] = params[:user] session[:context] = nil redirect '/' else session[:authorized] = false session[:user] = nil session[:context] = nil redirect '/login' end end app.get '/logout' do session[:authorized] = false session[:user] = nil session[:context] = nil redirect '/' end end end register SessionAuth end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
rbbt-views-0.1.2 | lib/rbbt/workflow/rest/auth.rb |
rbbt-views-0.1.1 | lib/rbbt/workflow/rest/auth.rb |
rbbt-views-0.1.0 | lib/rbbt/workflow/rest/auth.rb |