aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--app.rb29
1 files changed, 29 insertions, 0 deletions
diff --git a/app.rb b/app.rb
new file mode 100644
index 0000000..1f52920
--- /dev/null
+++ b/app.rb
@@ -0,0 +1,29 @@
+require 'sinatra'
+
+
+use Rack::Session::Cookie, :secret => "My session secret which shouldn't be committed to the repo in real life"
+
+get '/' do
+ # The root route should render the :index template when logged out and the
+ # :logged_in template when logged in.
+
+ erb :index
+end
+
+post '/' do
+ if params[:username] == 'hubertfarnsworth' &&
+ params[:password] == 'secret'
+ # The user has correctly authenticated. Persist their login status by
+ # setting a session key here.
+
+ redirect '/'
+ else
+ 'Unrecognized user'
+ end
+end
+
+get '/logout' do
+ # Unset the session here to log the user out.
+
+ redirect '/'
+end